我使用String.split(“”)来分割字符串。然后我想看看第一个字母是否为d。这是我试过的代码:
String fool ="dalek";
String[] barn = fool.split("");
System.out.println("barn[0]="+barn[0]);
if(barn[0]=="d") {
System.out.println("Exterminate!");
}
这只打印 barn [0] = d 而不是 Exterminate!正如我预期的那样。我的问题是:为什么这不起作用?我怎样才能使它发挥作用?
编辑:我得到了一些建议,说我可以使用contains()或其他东西来实现相同的目标。我想要使用它的程序要复杂得多,并且解释我想要对数组做什么将需要几百行代码,所以我以一种让它保持相关的方式提出问题。
另外,如果我使用contains(),我能看到字母在字符串中的位置吗?例如:Cow在第二个“槽”中有字母“o”或者它叫做什么。
编辑2:我得到了使用equals()而不是==的建议。这有效。我将if(barn [0] ==“d”)替换为if(barn [0] .equals(“d”)。谢谢!
我查看了“==”和equals()之间的区别,现在我理解为什么我的原始程序不起作用。