String.length == 0 和 string == "" 有什么不同啊?

FirstKnight 2004-10-11 10:34:11
今日在写程序中 遇到一个古怪的问题
String s = request.getParametes("id")
结果s.length==0和s.trim() = ""不是同样的结果啊
...全文
323 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
射天狼 2004-10-11
  • 打赏
  • 举报
回复
s.length==0和
s.trim().equals("")应该是一个结果!!
lovelybull 2004-10-11
  • 打赏
  • 举报
回复
问题一个,空字符串是否长度为零
FirstKnight 2004-10-11
  • 打赏
  • 举报
回复
谢谢大家的解释,我提问题的时候没有把问题写清楚,我已经把问题在第五楼写清楚了,6,7楼是问题的正解,前一阵子用c#结果把java的东西忘了,在java里比较两个对象的大小要使用object.equals(),而直接==的情况是在假设java把这个运算符重载(c#这样作了),不过java只是重载了+号.\dfsf
chn217 2004-10-11
  • 打赏
  • 举报
回复
s.length == 0表示字符串的长度为0,s.trim().equals("")表示字符串为空白字符串。
e.g:

String s = " ";
System.out.println(s.length == 0);//false
System.out.println(s.trim().equals(""));//true
wolfhound 2004-10-11
  • 打赏
  • 举报
回复
length是s的原始长度,而且一般比较字符串都使用equals,s.trim=""我没见过有这么用的.
micker 2004-10-11
  • 打赏
  • 举报
回复
s.length==0和s.trim()=""完全不一样的啊。
1,你要说的应该是:s.length==0和s.trim().equals("")因为字符串相等不能用“=”;
2,如果s里有空格的话,.length==0和s.trim().equals("")也是不等的啊,
而s.length==0和s.equals("")这个才是一样的啊,应为s.trim()是把s中的空格过滤了的啊。
wjwcsdn 2004-10-11
  • 打赏
  • 举报
回复
strtest == ""?
应该是strtest.equals("")
wumingwangzi 2004-10-11
  • 打赏
  • 举报
回复
如果用.equals("")是什么样子呢?
FirstKnight 2004-10-11
  • 打赏
  • 举报
回复
对是s.length() ==0 和 s.trim() == "" 我把这两个语句在同一个判断点,结果进行了不同的跳转,部分源代码如下
String strtest = myUpload.getRequest().getParameter("file_img");
strtest = strtest.trim();
if (strtest.length() == 0){
out.print(strtest.length());
}else{out.print("fff");}
结果显示0
如果把strtest.length() == 0换成strtest == ""结果显示fff
febchen 2004-10-11
  • 打赏
  • 举报
回复

你程序什么样的?
结果怎么不同了
mlovex 2004-10-11
  • 打赏
  • 举报
回复
s.length() 吧
febchen 2004-10-11
  • 打赏
  • 举报
回复
s.trim()="" ?
应该是 s.trim()=="" 吧

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧