怎么查看java中字符串的内存地址

想像C语言那样查看变量的内存地址,应该怎么做呢
2024年11月23日 04:28
有4个网友回答
网友(1):

  java中不建议直接获取字符串内存地址,因为java不像c语言,获取内存地址是C语言的强项,java的弱项。但是java内存地址还是有一个应用场景,就是判断两个字符串内存地址是否相等来判断是否是同一个对象,用双等号“==”来比较的。参考代码如下:


public class Test01 {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1="abc";
String str2=new String("abc");
System.out.println(str1 == str2);//输出false
}

}

  

网友(2):

你可以看下java内存地址分配相关的资料。你的这个问题我也不知道,因为我对jvm了解的不深。
String str = "23wwwww";
String[] s = new String[]{"111","AAA"};
System.out.println(str.getBytes());----结果是[B@459189e1
System.out.println(s);---结果是:[Ljava.lang.String;@527c6768

结果中的@后面的就是内存地址,不过我不知道这个结果是不是你想要问的那个,我不清楚是否是和C里面的那种一样。
一般Java里面如果你直接打印对象的话,会打印出内存地址。

网友(3):

java是面向对象的语言,看不但内存地址

网友(4):

hashCode();