关于java中 String 的疑问 System.out.println(s.length());是不是这句就出错了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然,这句肯定会出nullpointexception! 结果是NULL,有NullPointerException,既然是s=null 还要输出他的长度,System.out.println(e.toString());//这出现异常 因为s 是null的,所以它这个对象其实是不存在的,你在这个对象上执行的操作当然是没有指向了。 各位当String s=null;System.out.println(s.length());结果: 4当String s="";System.out.println(s.length());结果: 0不信可以试一试而且String s=null;s=s+2;System.out.println(s);为:null2而String s="";s=s+2;System.out.pringln(s);为:2 这个问题我在程序中也遇到啦String s=null;System.out.println(s.length());结果为4是对的而且s中的内容是“null”再例如,Jsp中取参数如果该参数不存在】应该取得null但如果要显示(如再文本框)仍然是null但是要取得该参数的长度就是错的啦什么NullPointerException^_^ dreamlxw(林林) :当:String s=null;try{ s.equals("a");}catch(Exception e){ System.out.println(e.toString());}这时将抛出NullPointException 如果是String s="null";则有不会抛出,请问这到底是怎么回事? 你用的是JDK多少的啊?当String s=null;System.out.println(s.length());这一句肯定是会抛出java.lang.NullPointerException来的,你是在什么情况下,用什么工具时出现4这个结果的啊??? 我猜,你是从数据库里取的String s吧,getString()当此记录为null时,好像能得到一个“null”的string 怎么可能有4出现??null代表s这个句柄目前没有分配实例相连接,任何对它进行的操作都应该抛出异常!而s=“null”就给s分配了“null“这个String类型的实例,也就是说s句柄指向”null“实例,当然没有错误了 各位:大家不信可以试一试,看看结果到底是什么!!!!!我的jdk 使用的是 1.4 ,而且我也不是从数据库里取的! 难不成你发现了1。4的BUG了,恭喜恭喜! 不应该出错这样的问题! 可能是jdk1.4的漏洞吧 我也试过了: String s="null";System.out.println(s.length());的确出错,我是记得往数据库(oracle)插入空字符串时有时会插入null,但这里不表示空,而是表示一个“null”的字符串,所以我认为eyeieye(魔之眼) 说的对,你取的应该是库里的值! String s="null";System.out.println(s.length());这还会出错?你的s已经指向了一个"null"字符串了。 抱歉我搞错了不过下面的例子确实是有问题:public class test{ public static void main(String[]args){ String testNUll=null; String test="null"; String testS=""; testNUll+=2; test+=2; testS+=2; System.out.println(testNUll); System.out.print("testNUll'length:"); System.out.println(testNUll.length()); System.out.println(testS); System.out.print("testS'length:"); System.out.println(testS.length()); System.out.println(test); System.out.print("test'length:"); System.out.println(test.length()); }}大家试一试上面的程序,比较一下结果看看有什么有趣的情况发生!!!!!!!! 很正常的.testNUll+=2;==> testNUll = testNUll + 2;String对象在连字的时候,先把null对象转变为"null",再加上2,为"null2".test,testS打印次序倒了,咋一看,还以为不对. java 关于递归的一个问题 服务器的问题 scjp 强制转换问题 数组问题 报错!!!!!!!!!!!!!!!!!!!!!!!!!! 求论坛的源代码,或者可执行程序也可 mysql字段加密 java与delphi通过SOCKET通信传数据的问题 问下java除了使用random这个随机方法还有没有别的了? 请教问题!!谢谢! 编写一个Application java 程序在Linux red had 7.2 下运行内存疯涨的问题? java与mfc的通讯问题!
String s=null;
System.out.println(s.length());
结果: 4
当
String s="";
System.out.println(s.length());
结果: 0
不信可以试一试而且
String s=null;
s=s+2;
System.out.println(s);
为:null2而
String s="";
s=s+2;
System.out.pringln(s);
为:2
String s=null;
System.out.println(s.length());
结果为4是对的
而且s中的内容是“null”再例如,Jsp中取参数
如果该参数不存在】
应该取得null
但如果要显示(如再文本框)仍然是null
但是要取得该参数的长度就是错的啦
什么NullPointerException
^_^
当:
String s=null;
try{
s.equals("a");}catch(Exception e){
System.out.println(e.toString());
}
这时将抛出NullPointException 如果是String s="null";
则有不会抛出,请问这到底是怎么回事?
当String s=null;
System.out.println(s.length());这一句肯定是会抛出
java.lang.NullPointerException来的,你是在什么情况下,用什么工具时出现4这个结果的啊???
大家不信可以试一试,看看结果到底是什么!!!!!我的jdk 使用的是 1.4 ,而且我也不是从数据库里取的!
可能是jdk1.4的漏洞吧
String s="null";
System.out.println(s.length());
的确出错,我是记得往数据库(oracle)插入空字符串时有时会插入null,但这里不表示空,而是表示一个“null”的字符串,所以我认为eyeieye(魔之眼) 说的对,你取的应该是库里的值!
System.out.println(s.length());
这还会出错?
你的s已经指向了一个"null"字符串了。
:
public class test{
public static void main(String[]args){
String testNUll=null;
String test="null";
String testS="";
testNUll+=2;
test+=2;
testS+=2;
System.out.println(testNUll);
System.out.print("testNUll'length:");
System.out.println(testNUll.length()); System.out.println(testS);
System.out.print("testS'length:");
System.out.println(testS.length()); System.out.println(test);
System.out.print("test'length:");
System.out.println(test.length());
}
}
大家试一试上面的程序,比较一下结果看看有什么有趣的情况发生!!!!!!!!
testNUll+=2;
==> testNUll = testNUll + 2;
String对象在连字的时候,先把null对象转变为"null",再加上2,为"null2".
test,testS打印次序倒了,咋一看,还以为不对.