В Java массивы не переопределяют toString()
, поэтому, если вы попытаетесь напечатать один из них напрямую, вы получите «className + @ + шестнадцатеричное значение hashCode
массива», как определено Object.toString()
Примечание. Простая печать массива по ссылочной переменной означает, что вы вызываете метод toString()
этого объекта массива.
Поскольку decoder.decode(encryptedData)
возвращает new byte[]
каждый раз, следовательно, он дает другойзначение, когда вы просто печатаете ссылочную переменную.
Пример: System.out.println(dataByte);//output:[B@15db9742
Вы можете использовать стандартные библиотечные функции для печати содержимого массива.Есть много способов достичь этого.Вот лишь несколько примеров:
System.out.println(Arrays.toString(dataByte));
System.out.println(dataByte.toList());