2
私は、プライベートインスタンス変数の月と日がパンツ代わりのint型だったことがわかりました。LOCALDATE LOCALDATEクラスのソースコード内のプライベート変数の月と日の短いデータタイプ
This is the Docs of the LocalDate class.
**ソースコードの短い一部**
private final int year;
private final short month;
private final short day;
private LocalDate(int year, int month, int dayOfMonth) {
this.year = year;
this.month = (short) month;
this.day = (short) dayOfMonth;
}
public int getDayOfYear() {
return getMonth().firstDayOfYear(isLeapYear()) + day - 1;
}
public int getMonthValue() {
return month;
}
public int getDayOfMonth() {
return day;
}
あなたはthemselveは、intデータ型は、月と日のために使用されている変数の横に見ることができるように。なぜそれを短くするのですか?
これはなぜですか?すべてストレージについて
private final short year;
private final byte month;
private final byte day;
これも私が思ったものですが、短年、バイト月、短日にすることでスペースを節約できないのはなぜですか? –
低レベルの機器向けにプログラミングする場合、ワードサイズは16ビットになります(非常に低いレベルのエンベデッドデバイスでも8ビットになります)。ほとんどのコンピュータで同時に32ビットワードサイズです。たとえ短くても、私は操作が32ビットであると考えています。レジスタは32ビット・サイズ、バスは32ビット、アドレス指定は32ビット・ワードになります。 コンピュータの場合、短い配列を除いてメモリの利点は得られません。 –