Getting and Setting Field Values

639 ワード

このシリーズは、Oracleの公式チュートリアル、半翻訳、半読後感の性質から翻訳されています.文末には原文のリンクが添付されます.
冒頭では、まず、反射によってフィールドの値を設定できることを強調しますが、通常の操作ではありません.クラスの設計哲学に違反しているため(privateフィールドを直接操作すれば、getsetの方法で何をしなければならない).最後に、この操作には極めて慎重な必要があると再宣言した.
次に、Bookクラスを例に、longarray、およびenumの操作方法について説明する.
最後に,反射によりフィールドに値を割り当てることは性能的にも推奨されないことを改めて強調する.たとえば、実行時にフィールドへのアクセス権を追加する必要があります.同時に、いくつかの実行時の最適化手段が失効する可能性があります.
int x = 1;
x = 2;
x = 3;

このコードはJVMによって最適化される可能性が高いが、Field.set*()を通過すると必ずしもそうではない.
原文リンク:Getting and Settings Field Value