为什么使用 getbytes().. 在 java 中的每个运行时都会更改值?

Kar*_*ick 0 java encode jakarta-ee

我只是想澄清一些使用getbytes()in 的东西java,我正在用 Java 做简单的程序来使用 getbytes() 对字符串进行编码,但是每次运行时值都应该改变..谁能解释为什么它会改变..?

这是我的示例代码:

  String m_a="Hello";

  byte[] b1 = m_a.getBytes();
Run Code Online (Sandbox Code Playgroud)

输出 1:

            encoded value : [B@ffb35e
Run Code Online (Sandbox Code Playgroud)

输出2:

           encoded value : [B@fe0ce1
Run Code Online (Sandbox Code Playgroud)

输出 3:

           encoded value : [B@ed3bff
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得该字符串的唯一值。

M21*_*1B8 5

您正在打印对象的标识符,而不是其内容。如果您打印数组中的实际字节,则每次都应该相同