栏目导航
热点推荐
- 三十条有用的 Java 编程规则
- Java制作水印图片源码
- Java常见异常及可能的导致原因
- Java中的修饰词使用方法总结
- J2EE系统异常的处理准则
- Java中的异常、断言、日志解析(
- Java面试技巧:Java面试题集锦(
- 面向Java开发人员的Scala指南:
- Java程序员:一刻钟精通正则表达
- 网友经验分享:学好java开发的关
- 专家解答:创建表格与数据库进行
- Java远程访问Domino数据库
阅览排行
JAVA中的比较字符串问题
www.jz123.cn 2009-03-27 来源: 我要投递新闻
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)(做用等号的比较时把常量写在等号前面) 如果你一不小心少写个等于号,编译编译器就会报错
0
上一篇:用Java来获取访问者真实的IP地址 下一篇:数据库连接池和Tomcat6.0连接池配置