编写一个解释文本文件中一行的程序
想知道我是否应该在方法'parseWordData'中将局部变量命名为与scannedWord
相似的word
,因为word
已经是类字段。
只要我宣布一个新变量而不是重新分配旧变量,一切都应该没问题......对吗?
public class WordData {
private String word;
private int index;
private LinkedList<Integer> list;
private boolean pathFound;
public WordData(String word, int index, LinkedList<Integer> list, boolean pathFound) {
this.word = word;
this.index = index;
this.list = list;
this.pathFound = pathFound;
}
public WordData parseWordData(String line){
Scanner scan = new Scanner(line);
int index = scan.nextInt();
String word = scan.next();
//precond and subGoal
LinkedList<Integer> list = new LinkedList<Integer>();
while(scan.hasNextInt()){
//add to LinkedList
}
return new WordData(word, index, list, false)
}
不要担心逻辑,我只是想知道这样的命名是否会令人困惑或者是java中的禁忌
答案 0 :(得分:6)
在Java中,标准参数的标准做法与
中的字段相同前提是这些方法将字段设置为与参数具有相同的值。在这种情况下,您会看到像
这样的行this.word = word;
在你的构造函数或你的setter方法中。
在所有其他情况中,应避免使用与字段名称相同的参数名称或局部变量名称。这只会导致混乱。这是标准做法。
因此,在您的示例中,您应该使用scannedWord
或类似内容从输入中扫描的单词。