在java中while (!str.equals(""))与while (str!=null)有啥区别?

[复制链接]
查看11 | 回复4 | 2018-4-11 19:50:28 | 显示全部楼层 |阅读模式
str.equals("")是比较字符串与“”的值是否相等,而str!=null是判断字符串的指针是否为空值。这根字符串的存储结构有关系,堆栈内存地址等等。。...
回复

使用道具 举报

千问 | 2018-4-11 19:50:28 | 显示全部楼层
""表示空字符null表示没有指向任何字符。显然这里没有字符可以结束循环。这里你str被声明并赋值了,它的值可以是空字符,但它的地址不为空。...
回复

使用道具 举报

千问 | 2018-4-11 19:50:28 | 显示全部楼层
while (str!=null)这个一般不提倡使用,字符类型很可能报空指针错误。null!=“”。...
回复

使用道具 举报

千问 | 2018-4-11 19:50:28 | 显示全部楼层
一个是比对值,如“!=”和“=”,一种是比对内存地址如:“equals”。你琢磨一下。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行