一个关于substring的问题 String比较不是这样的,应该是:String C="UU".substring(0,1); if ( C.equals("U" )) { ****** ;} else { ******** 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你试一下:public static void main(String[] args) {// new B().test(); String C="UU".substring(0,1); if ( C.intern() =="U" ) {System.out.println("World");} else { System.out.println("Hello");} } 字符串比较用equals或者compareTo,==是比较地址。1楼的真快呀~hoho~ 呵呵,对了吧!至于为什么会产生你上面的情况呢?因为substring函数的内部机制,他是new出来一个String.所以,你用“==”比较引用,就会不等。最好用equals. if ( C =="U" )? ·#¥%……—* 同意楼上的:)你用substring()这个函数得到的其实是一个新的字符串,其内容是你要取得的那一段,但系统给它一个新的地址。一般来说要比较内容上的相等用equals(),但如果你要知道这两个字符串是不是同一个(就是说地址一致)的话就用==,还有比较字符串是否为null时要用==,用equals()会报NullPointerException :) String 不是基本数据类型,而是一个对象! 对象的比较不能用"==",而应该用equals()。这是基本常识! 兄弟,String C="UU".substring(0,1);你取出后的值C就是"U",但比较的时候不是这样进行的,应该改为如下: public class Test1{ public static void main(String args[]){ String C="UU".substring(0,1); System.out.println(C); if ( C.equals("U")) { System.out.println("true"); } else { System.out.println("false"); } }} java调用visit里面的数据 一个简单的JAVA问题,请迅速帮忙,谢谢! 如何修改被混淆的Class GUI中能添加链接吗 读多个文件夹所有文件内容 理解不了,问问高手 无效的描述符索引 请问有人知道吗? 高分求助:奇怪的问题???加package不能运行! 如何调用IE中的JAVASCRIPT? 为什么我下载的installAnywhere不能用?急 用位运算来做检测条件有什么好处?
public static void main(String[] args) {
// new B().test(); String C="UU".substring(0,1);
if ( C.intern() =="U" )
{System.out.println("World");}
else
{ System.out.println("Hello");} }
至于为什么会产生你上面的情况呢?因为substring函数的内部机制,他是new出来一个String.所以,你用“==”比较引用,就会不等。最好用equals.
你用substring()这个函数得到的其实是一个新的字符串,其内容是你要取得的那一段,但系统给它一个新的地址。一般来说要比较内容上的相等用equals(),但如果你要知道这两个字符串是不是同一个(就是说地址一致)的话就用==,还有比较字符串是否为null时要用==,用equals()会报NullPointerException :)
这是基本常识!
public static void main(String args[]){
String C="UU".substring(0,1);
System.out.println(C);
if ( C.equals("U")) {
System.out.println("true");
}
else {
System.out.println("false");
}
}
}