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

想像C语言那样查看变量的内存地址,应该怎么做呢
2024-11-23 04:28:43
推荐回答(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();