showInputDialog返回内容

Stringstr=JOptionPane.showInputDialog(this,"输入数字,用空格分隔","输入对话框",JOptionPane.PLAIN_MES... String str = JOptionPane.showInputDialog(this,"输入数字,用空格分隔","输入对话框",JOptionPane.PLAIN_MESSAGE);
str.equals("")与str==null 的区别是什么?我试了n多次不输入内容 srt !=null都是true.
展开
 我来答
未来需努力点缀
2013-07-21 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:516万
展开全部

lz 你好


(1)首先给你讲一讲str.equals("")与str==null

str.equals("")如果为真  那么String对象str本身没有什么内容 , 但是对象不是空(null),

只是这个字符串没有怎么值


str == null就表示这个String对象是空对象 , 没有初始化(没用new生成一个对象引用) , 仅仅是一个null对象引用 , 不指向任何String对象


下面给lz一个理解例子:

public class StrTest {
        
    public static void main(String[] args) {
     String str = null;
     //没用new创建一个String对象引用  也就是没有初始化对象 , 仅仅是空对象null
     System.out.println (str == null);
    
     str = new String("");
     //用new初始化了  对象引用不空(null)  但是对象没有值
     System.out.println (str.equals(""));
    }
}


两个运行结果都是true


(2)

由于你的输入框中没输入东西 , 但是ShowInputDialog会返回一个String对象引用

这样str指向了一个String对象  只是这个String字符串里面什么也没有


lz要明白对象和对象的值的区别


lz应该明白了吧

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式