我有两节课。
class Question
{
Hashtable<Integer, String> hs;
void populateHashTable();
//to populate hashtable during runtime.
}
class QuestionGetter
{
String s;
int x;
//I want string s to hold the value of the key x.
}
仅在运行时期间填充Question类中的哈希表。 我正在使用RMI概念来运行两个相互通信并检索值的类。因此,在问题类中,我将添加多个问题及其问题编号,我想在QuestionSetter类中检索我输入问题密钥。
我该如何实现?
答案 0 :(得分:1)
您必须在Question
班级中引用QuestionGetter
个对象:
class QuestionGetter{
Question question;
//constructors
public void add(String s, int x){
question.hs.put(x, s);
}
}
答案 1 :(得分:0)
首先,我从您的说明中假设您的Question
类确实是QuestionCollection
,因为它在Hashtable
中包含多个问题。
现在,根据您的需要,有两种可能性:
如果您只想使用一个QuestionCollection
(因为它在运行时期间填充),您可能需要声明其字段和方法static
。现在,您可以QuestionCollection.getHs().get(x)
int x
QuestionGetter
QuestionCollection
(您必须插入由QuestionCollection
类提供的静态getter-Method,因为您不希望直接访问hs)。这是一个非常简单但很弱的解决方案。
如果您可能想要使用多个QuestionGetter
,则需要传递QuestionCollection
QuestionCollection
个实例,以便它知道从哪个{{1}}获取问题。在这种情况下,rickyalbert的答案适用。