我的程序中有两个类,其中一个我创建了一个名为'words'的HashSet,我需要能够从另一个类中的HashSet调用,否则就可以复制HashSet。我宁愿做前者,看起来更整洁,但要么就好了。
我想要/需要调用HashSet的那个代码是这样的:
private void execute(String[] commands)
{
String basicCommand = commands[0];
//this is something I have used in a previous project to call from the HashSet
for (String word : words)
{
if(basicCommand.equals("circle")) {
makeACircle(commands);
}
if(basicCommand.equals(word))
{EMPTY FOR NOW}
else if(basicCommand.equals("help")) {
printHelp();
}
else {
System.out.println("Unknown command: " + basicCommand);
}
}
}`
我的HashSet的代码是:
public String[] getInput()
{
System.out.print("> "); // print prompt
String inputLine = reader.nextLine().trim().toLowerCase();
String[] wordArray = inputLine.split(" "); // split at spaces
// add words from array into hashset
for(String word : wordArray) {
words.add(word);
}
return wordArray;
}
(HashSet'words'在课程的早期定义)
答案 0 :(得分:1)
If HashSet is non-static
在包含getHashSet()
的班级中创建HashSet
方法。它返回对hashset的引用。
在要访问此HashSet的类中创建包含HashSet的类的新实例。致电instance.getHashSet();
if HashSet is static
(最好将其公开......) 使用ClassContainingHashSet.hashSet来获取hashset。
编辑:
public class MyFirstClass{
public static Set<YourType> mySet = new HashSet<yourType>();
}
class MySecondClass{
public void readHashSet()
{
HashSet<YourType> hs = MyFirstClass.mySet;
}
}
注意:这不是确切的代码..这是示例代码。