我可以为兄弟和子对象提供相同的参考

时间:2016-03-02 01:13:45

标签: java reference

我尝试使用具有一些不同属性的Word类在Java中创建一个简单的字典:

public class Word {
 public enum WordType{ NOUN, PRONOUN, ADJECTIVE, ADVERB, EXCLAMATION, PREPOSITION, CONJUNCTION, DETERMINER, VERB;}

 private String text;
 private Word[] definition;
 private WordType wordType;
}

我希望每个单词的定义都包含一系列其他单词对象,直到每个单词最终被分解为最核心和最基本的单词;它将有一个String来定义它。

首先,我只是想检查一下,在正确的编程实践方面,将对象类型作为自己对象中的属性是可以的。

我的主要问题是我试图从.csv文件构造一个Dictionary对象(由单词对象的arraylist组成)。我希望将对象作为定义的值引用,作为通过.csv导入创建的相同单词对象。

即:

hello,positive-adjective greeting-noun,exclamation,  
positive,root definition,adjective,  
greeting,root definition,noun,

Dictionary对象将包含单词objects {' hello',' positive',' greeting'}以及' hello'对象的定义将指向相同的“正面”#39; &安培; '问候'对象

同样,这是编程中适当的事情还是这种不好的做法。但也有某种功能/方法可以让我配对两个对象,因为现在我所能想到的就是使用一个' for循环'每当创建新单词以查找重复条目时,循环遍历字典中的每个单词。但是我觉得这是低效的,并且随着字典的增大而不太可行。

如果需要,我会编写更多代码,但我尝试只包含相关内容。

1 个答案:

答案 0 :(得分:0)

您的问题是我能否做到这样的事情:

class Word
{
    private Word[] children;
}

绝对。 (对于List或者单个Word字段等也是如此)。我们还有Singleton设计模式,可以保护自己类型的实例。

请按照此n-Array Tree链接获取示例。