好的输入是一串数字和运算符,例如+ 2 3 * 4.我想将字符串拆分为一个ArrayList对象,字符串中的每个字符都获得它自己的索引。这就是我所拥有的;
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语句由于某种原因没有被评估为真,我错过了一些微妙的东西,或者我在这里完全错了吗?
感谢您的帮助。
答案 0 :(得分:8)
在if
中,您使用==
来比较字符串;请改用String#equals
。
在else
中,您使用赋值运算符=
来比较字符串;请改用String#equals
。
==
运算符比较两个字符串引用,以查看是否引用了同一个对象,这不是您想要的。