如果我有这样的东西
Map<String, Foo> foos;
...
Foo f = foos.get("key1");
foos.removeAll();我还能做String s = f.getSomeProperty();吗?
发布于 2009-12-02 23:12:18
foos只包含对对象的引用,而不是完整的对象。如果您从foos获取某些内容,则可以获取对该对象引用,并可以对其进行修改。如果从foos中删除所有元素,那么它将不再包含任何引用,并且只有在没有对该对象的其他引用时,才能对这些对象进行垃圾回收。
发布于 2009-12-02 23:11:29
是的,你是。您刚刚清除了映射,但是局部变量f仍然持有对Foo的有效引用,并且您仍然可以使用它。
发布于 2009-12-02 23:12:49
请注意,String (注意大写S)是表示字符串的Java类的名称。但是,是的,是的,你是。
https://stackoverflow.com/questions/1833486
复制相似问题