相关疑难解决方法(0)

在Java中选择哪个重载为空?

如果我用Java写这行:

JOptionPane.showInputDialog(null, "Write something");
Run Code Online (Sandbox Code Playgroud)

将调用哪种方法?

  • showInputDialog(Component parent, Object message)
  • showInputDialog(Object message, Object initialSelectionValue)

我可以测试一下.但在其他类似的情况下,我想知道会发生什么.

java parameters methods invocation

52
推荐指数
3
解决办法
8270
查看次数

为什么这是程序的输出?

public class OverloadingTest extends Format{

    public int add(String s1){
        System.out.println("With String");
        return 1;
    }
    public int add(Object a){
        System.out.println("With Object");
        return 1;
    }


    public static void main(String[] args) {
        OverloadingTest overloadingTest = new OverloadingTest();
        overloadingTest.add(null);
    }

}
Run Code Online (Sandbox Code Playgroud)

为什么是程序的输出 With String ?

我试过阅读第6版的JLS,但我仍然找不到答案.

我猜的唯一原因是选择了继承层次结构中最接近的匹配.

所以在这种情况下,它需要String作为Object是它的超类.

java overloading

7
推荐指数
1
解决办法
102
查看次数

Java - 将null作为参数传递给print()

我想知道为什么下面的代码不起作用:

System.out.print(null);    
response.getWriter().print(null);
Run Code Online (Sandbox Code Playgroud)

但是下面的工作:

String s = null;
System.out.print(s);
response.getWriter().print(s);
Run Code Online (Sandbox Code Playgroud)

传递a null与传递引用之间的区别是null什么?

编辑: 前面提到的工作不表示编译错误.

java reference outputstream

2
推荐指数
1
解决办法
9724
查看次数