我有一個簡單的類擴展LinkedHashSet
,並試圖覆蓋toString()
方法。我在主要方法中向Set
添加了一些元素,但在我的toString
方法中,Set
爲空。代碼:爲什麼我的LinkedHashSet在toString()方法中是空的?
import java.util.*;
import java.util.*;
public class MyHashSet<T> extends LinkedHashSet<T>{
private Set <T> myHashSet;
public MyHashSet(){
myHashSet = new HashSet<T>(5);
}
@Override
public String toString(){
if (myHashSet.isEmpty())
return "This MyHashSet is empty.";
else
return myHashSet.toString();
}
public static void main (String[] args){
MyHashSet <String> myHashSet = new MyHashSet<>();
myHashSet.add("A");
myHashSet.add("B");
myHashSet.add("C");
myHashSet.add("D");
myHashSet.add("E");
System.out.println(myHashSet);
System.out.println(myHashSet.isEmpty());
}
}
返回如下:
這MyHashSet是空的。
假
我期待toString()
,而不是返回
[A,B,C,d,E]
我在做什麼錯?提前致謝。
提示:您的代碼中有**兩件**事情,名爲'myHashSet'。 –
五分鐘在調試器和這個問題(和隨之而來的downvote)將不會是必要的:) –
myHashSet.myHashSet.add(「A」); :以這種格式添加數據。 – Akash