-1

好的,输入是一串数字和运算符,例如 + 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 语句由于某种原因没有被评估为 true,我是否遗漏了一些微妙的东西,或者我在这里完全错了?

谢谢您的帮助。

4

1 回答 1

8

在 中if,您==用于比较字符串;改为使用String#equals

在 中else,您正在使用赋值运算符=来比较字符串;改为使用String#equals

运算符比较==两个字符串引用以查看是否引用相同的对象,这不是您想要的。

于 2013-03-26T23:00:50.807 回答