public class ts {
static boolean isNum1(String s){
if(s=="1")
return true;
return false;
}
public static void main(String args[]){
String str="123";
for(int i=0;i<str.length();i++){
String s=String.valueOf(str.charAt(i));
System.out.println(isNum1(s));
}
}
}我在项目中一直会认为输出结果为 对错错,所以搞了半天没发现错误,
最后发现原来有上面这回事,输出结果为 错错错 ,与我的大脑分析是完全违背的,这种奇怪的事
怎么让我遇到了,如果哪位大哥或少数的小姐姐遇到这种问题,请告诉我下,最好能解释下。。
十分感谢
static boolean isNum1(String s){
if(s=="1")
return true;
return false;
}
public static void main(String args[]){
String str="123";
for(int i=0;i<str.length();i++){
String s=String.valueOf(str.charAt(i));
System.out.println(isNum1(s));
}
}
}我在项目中一直会认为输出结果为 对错错,所以搞了半天没发现错误,
最后发现原来有上面这回事,输出结果为 错错错 ,与我的大脑分析是完全违背的,这种奇怪的事
怎么让我遇到了,如果哪位大哥或少数的小姐姐遇到这种问题,请告诉我下,最好能解释下。。
十分感谢
解决方案 »
- Java图片路径问题
- MyEclipse 工程前面有个红x 请问一下我该如何找到错误所在?
- filter 怎么过滤jsp页面
- 文件操作 ObjectInputStream和ObjectInputStream
- 方程信息交流平台(站长交流的好去处)
- 大家好,我这里有80个Gmail邮箱的邀请,请留下你的电邮,我发邮件邀请你,谢谢
- 事件处理
- 谁能给我j2eesdk的下载地址,在线等
- 哪里有JDBC for MySQL 驱动程序下载??(100)
- java中如何实现两个ftp服务器之间的文件传输
- 这个表示的含义
- JOptionPane.showMessageDialog()对于参数(null,boolean)不适用?
将==换成equals(“1”)
就可以了。
字符串用这种方法比较能成功的可能性很小
s=="1"这种方式比较的是内存中的地址,很少有两个对象的地址会出现相等的情况
如果用if("".equals(s))那么你的假设情况“对错错”会出现