输入是一个由数字和运算符组成的字符串,例如,+ 2 3 * 4。我想把字符串分割成一个数组列表对象,字符串中的每个字符都有自己的索引。
String current;
String s = "+ 2 3 * 4";
List <String> splitter = new ArrayList<String>(Arrays.asList(s.split("\s+")));
current = splitter.remove(0);
if (current == "+"){
//do stuff }
else if (current = "-") {
//do stuff }
....
if语句由于某种原因没有被评估为真,我错过了一些微妙的东西还是我在这里完全错了?
谢谢你的帮助。
在if
中,您使用==
来比较字符串;用String#equals
代替。
在else
中,您使用赋值操作符=
来比较字符串;用String#equals
代替。
==
操作符比较两个字符串引用是否指向同一个对象,这不是您想要的。