因此,我一直在编写游戏,并希望使代码库更有用。我最初写过以下代码一次,并且运行良好。但是为了重用和减少行数,我进行了调整。现在不起作用
主要Java文件:
builder.setStats("p, divine,0,1,2,2,1,2,4");
Builder文件:
String [] holder = new String[8];
public void setStats(String sentstats){
holder = sentstats.split(",",8)
if(holder[0]== "p"){
charsheet.style = holder[1];
}
}
因此,问题在于如果没有做出正确的回应。我已经测试了所有关联文件的完全访问权限。我知道我可以使它以其他方式工作。但是要减少冗余。并使部分代码递归,我已经做到了。
答案 0 :(得分:0)
在使用String而不是字符时,请使用import sys
sys.path.append('C:/Users/usrname/AppData/Local/Continuum/anaconda3/Library/bin/graphviz/')
而不是equals()
发件人:
==
,收件人:
if(holder[0]== "p"){
charsheet.style = holder[1];
}
答案 1 :(得分:0)
Sting不是Java中的原始类型。它们被视为对象。当对对象使用==
时,Java将检查两个对象在内存中是否具有相同的引用,而不是检查两个对象之间的值(或全局值的相似性)。这意味着Java不在乎字符串的值是什么。只要它们与内存中引用的对象不完全相同,Java就会返回false。因此,您应该使用equals()
或compareTo()
,这两种方法实际上都检查字符串的值,而不是检查两个对象是否具有相同的引用。
方法1
if("p".equals(holder[0])){
charsheet.style = holder[1];
}
方法2
METHOD 1
if("p".compareTo(holder[0]) == 0){ //compareTo returns 0 if both strings equal
charsheet.style = holder[1];
}