求助! Java字符串处理问题

fjzwz 2014-09-14 03:25:50

String str = "2.0;0.0;1000.0;?";
String strs[];
strs = str.split(";");
for(j=0; j<4; j++)
{
if(strs[j] == "?")
record[i][j] = Float.valueOf(-1);
else
record[i][j] = Float.valueOf(strs[j]);
System.out.print(record[i][j] + " ");
}

运行时,strs[3]理论上要执行的是if语句的内容,实际上执行的是else语句的内容,造成出错,
个人发现好像是strs = str.split(";");有问题,如果直接f定义String strs[] = {"2.0", "0.0", "1000.0", "?"};就没有错,请问要怎么改?错在哪?
...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjzwz 2014-09-14
  • 打赏
  • 举报
回复
谢谢了,真是这个问题。前面也试过用equals,但当时有其他错误,其他错误改了之后,忘记在试一下equals。以为是split用错了。
Semantic_smq 2014-09-14
  • 打赏
  • 举报
回复
应该将if(strs[j]=="?")改成if(strs[j].equals("?")).比较字符串值的大小,建议用equals;字符串中的"=="表示这两个字符串是不是同一个引用。

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧