あなたが投稿した Scala コードに相当する Java コードは次のようになります。
String test = Base64.encodeBase64("hello".getBytes()).toString();
String test2 = Base64.encodeBase64("hello".getBytes()).toString();
String test3 = Base64.encodeBase64("hello".getBytes()).toString();
これにより、それぞれtoString()
のbyte[]
配列オブジェクトBase64.encodeBase64("hello".getBytes())
が異なるオブジェクトになるため、コンソールに異なる出力が出力されます。Javadocs によると、クラスのtoString()メソッドを実行します。Object
オブジェクトの文字列表現を返します。
クラス Object の toString メソッドは、オブジェクトがインスタンスであるクラスの名前、アットマーク文字 `@'、およびオブジェクトのハッシュ コードの符号なし 16 進数表現で構成される文字列を返します。
正しいString
表現を取得するには、 Arrays.toString()メソッドを使用します。正しい結果を出力するサンプル Java コードは次のとおりです。
String test = Arrays.toString(Base64.encodeBase64("hello".getBytes()));
String test2 = Arrays.toString(Base64.encodeBase64("hello".getBytes()));
String test3 = Arrays.toString(Base64.encodeBase64("hello".getBytes()));