首页 > 学院 > 开发设计 > 正文

JAVA中的比较字符串问题

2019-11-17 04:17:31
字体:
来源:转载
供稿:网友

1>昨天,遇到一个问题特令我无语,大意如下:

String str ="3a5b@";
String strTemp =str;
for(int i=0;i<strTemp.length();i++){
   if(strTemp.substring(i,i+1) !="@")  遇到@不打印
          System.out.PRint(strTemp.substring(i,i+1));
   
}

就上面这么简单的代码,让我漫长的调试了一个小时,没办法啊,有时候我老用C++的角度去看java的代码,以上代码用C++编译肯定能出

来预期的结果,可JAVA不行啊,最后我才忽然想起来,JAVA中比较非空的字符串不能用=,只能用equal函数, 唉.................
        if(!strTemp.substring(i,i+1) .equals("@"))

2>最近,我还发现了一个问题,有很多人老这样写代码:
    if(str==null) 
       虽然这样写只要你注意点不会出现什么错误,但万一呢:  if(str = null)  这样写编译器也不会报错,但你可得花费一部分时间来逐一调度了
       所以我还是建议新手这样写  if(null ==str)(做用等号的比较时把常量写在等号前面) 如果你一不小心少写个等于号,编译编译器就会报错


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表