日期:2014-05-20  浏览次数:20789 次

java str.split()方法问题 急急急 在线等 谢谢啦
public class Transform{

public String  transform(String a)  {
    String b=a;
 //String c="98:0C:82:53:B8:3E";
    
if(b=="00:0f:e2:4f:0c:e6")
     b="one";
    else if(b=="ec:17:2f:ac:43:fa")
     b="two";
    else if(b=="84:74:2a:a2:d4:67")
     b="three";
    else if(b=="84:74:2a:a2:d4:e1")
     b="four";
   // else b=b; 
return b;
}
}
上面是我定义的一个类 
然后下面是调用的类里面的方法                                                             content 里面的内容是 一个线程得到一个字符串"98:0C:82:9C:F2:83,2013-09-03 17:42:56:2510,84:74:2a:a2:d4:67,-46,00:0f:e2:4f:0c:e6,-58,0.67660064,10.723399"
 
String[] date = content.split(",");
                 Transform trans=new Transform();
 String a=date[2];
 String b=trans.transform(a);

 System.out.println(date[2]);

输出结果是 84:74:2a:a2:d4:67, 为什么呢 按说应该是 three 呀!!
java string split

------解决方案--------------------
问题就在你这个==。。请用equals
------解决方案--------------------
好像是基本类型 == 比较内容

引用类型 == 比较引用的地址  不比较内容    

equals 被String类重写  比较内容,通过查看源码可以查看的到。


下面有没有人对我的看法拍砖哪
------解决方案--------------------
比较String的内容 用equals