[英]Check object memory allocation of String
假设我创建了一个 String 对象,例如
String st = new String("newOBject");
另一个通过
String str = "secondObject";
现在我的问题是我将如何确认由 String 文字创建的对象是否在 String 池中创建,并且使用 new 运算符创建的对象是否在 Heap 内存中创建。 有没有什么方法可以进入内存并告诉我们它的位置
虽然不直接查看字符串的内存,但您可以执行以下操作:
boolean isStringInPool(String stringToCheck){
String test = new String(stringToCheck);
test = test.intern();
return stringToCheck == test;
}
那就是在堆上创建一个具有相同值的字符串,将其插入(强制它在池中),并比较引用(只有当两者都在池中时才返回真)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.