シンプルなデザインの質問です。なぜToBinaryStringはIntegerクラスのインスタンスメソッドではありませんか?
サンプルコード:
Integer int1 = new Integer(20);
System.out.println(Integer.toBinaryString(int1));
JDKの設計は、次のようなものではないのはなぜ?したがって、toBinaryString関数は、の結果を返しますか?静的関数の汎用性のために別に
System.out.println(int1.toBinaryString());
、この設計アプローチのための他の理由が何ですか?彼らは特定のデザインパターンを使用していますか?それでは、どのパターン?
*明示的にオブジェクトを不必要に作成しないようにするには、いいえ? Autoboxingはどちらの場合でも本質的に同一のバイトコードを作成することになります。(今、ホットスポットはオブジェクトの作成を完全に削除するかもしれませんが、再び両方の場合に等しく適用されます)。または私は何かを逃していますか? –
@ jon-skeetは単に 'int'型が存在しないと言うことができます。次に、このデザインパターンの背後にある理由は何でしょうか? –
Andrzej:いいえ、autoboxingはありません。パラメータには整数型ではなくint型であるためです。 –