假设我有一个包含字符串的对象,如下所示:
class SomeObject {
private final String s;
private final int i;
SomeObject(String s, int i) {
this.s = s;
this.i = i;
}
String getString() {
return s;
}
}
因此,例如,如果我仅使用不带
SomeObject
的引用,例如,我用于构建另一个对象,并且不需要i
和任何其他可能的字段,它将被垃圾回收吗?编辑:对不起,我很不清楚。事情是说我有一个名为someObject的SomeObject实例,并且如果我使用getString()方法(即someObject.getString())让s引用转义并使用返回的引用来构建其他对象,例如不是SomeObject实例,someObject是否可用于垃圾回收?
最佳答案
我想您指的是s
?是的,SomeObject
实例将免费进行垃圾回收。 String
不保留对其源自的SomeObject
的引用。
关于java - 如果我让字符串引用转义,这将防止包含对象被垃圾回收吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12231040/