我有一種情況,當有人試圖從bList
中刪除一個對象b
時,我需要給出一條錯誤消息,並且它在某些其他類說的類A
中使用。
如果b
未在另一個類中引用,那麼我不應該拋出錯誤消息。對於上述方案檢查某個對象是否在使用java刪除它之前在某個地方使用過
public class A {
B b;
void setB(B b) {
this.b = b;
}
}
public class NotifyTest {
List<B> bList = new ArrayList<>();
String notifyTest() {
A a = new A();
B b = new B();
a.setB(b);
bList.add(b);
if (b referencedSomewhere)
{
return "error";
}
else
{
bList.remove(b);
return "success";
}
}
}
我遍歷整個模型檢查對象b
在某處使用
的僞碼打,所以我不想去這種做法性能。
請讓我知道,如果有任何Java提供的這種情況的解決方案或建議一個更好的方法來處理這個問題。
EDIT1:我需要一個錯誤消息時b
比bList
如何使用一個「b」? – 2016-09-19 05:25:56
假設b沒有被引用到任何地方,bList.remove(b)有什麼意義?無論如何,它不能在bList中存在(如果bList沒有被引用)? – eis
如果您從bList中刪除b,那麼也不會刪除b。它仍然留在記憶中。爲了執行你需要做的是在這種情況下將b賦值爲null。但是,這也不能確保b將被刪除 – Gaur93