相关疑难解决方法(0)

为什么空投?

我在某处看到了这段代码并且想知道:何时以及为什么有人会做以下事情:

doSomething( (MyClass) null );
Run Code Online (Sandbox Code Playgroud)

你有没有这样做过?你能分享一下你的经历吗?

java null

81
推荐指数
2
解决办法
2万
查看次数

Java中的"......"是什么意思?

可能重复:
Java数组参数"声明"语法

我已经看到...在java中的对象类型和对象名称之间使用.我认为它代表了对象的集合.请注意以下示例:

public setMembers(Member... members);
Map map = ...;
Run Code Online (Sandbox Code Playgroud)

我的问题是"......"的真正含义是什么?我从来没有在他们解释过的任何文档中看到过这个.

java

12
推荐指数
0
解决办法
3081
查看次数

变量对象数组与对象数组 - 试图理解SCJP自测问题

我无法理解这个问题,并解释了SCJP 1.6自测问题的答案.这是问题所在:

class A { }
class B extends A { }
public class ComingThru {
    static String s = "-";
    public static void main(String[] args) {
        A[] aa = new A[2];
        B[] ba = new B[2];
        sifter(aa);
        sifter(ba);
        sifter(7);
        System.out.println(s);
    }
    static void sifter(A[]... a2) { s += "1"; }
    static void sifter(B[]... b1) { s += "2"; }
    static void sifter(B[] b1) { s += "3"; }
    static void sifter(Object o) { s += "4"; }
}
Run Code Online (Sandbox Code Playgroud)

结果是什么?答案是-434,但让我失望的是这本书的解释.它与本章前面解释的概念有很大不同. …

java scjp variadic-functions

5
推荐指数
1
解决办法
1638
查看次数

对象是什么意思?

可能的重复:
Java中的"......"是什么意思?
Java数组参数"声明"语法

任何人都可以确认我是否正确看到Object...下面方法调用中的参数:

public static void setValues(PreparedStatement preparedStatement, Object... values)
    throws SQLException
{
    for (int i = 0; i < values.length; i++) {
        preparedStatement.setObject(i + 1, values[i]);
    }
}    
Run Code Online (Sandbox Code Playgroud)

作为Object类型的数组?我不记得...之前在Java中看过.

java arrays

4
推荐指数
1
解决办法
4314
查看次数

AsyncTask方法:无论是否写"@Override"注释,我都会收到错误

我正在编写一个Android客户端,用于使用基于SOAP的Web服务.我正在使用一个AsyncTask来执行网络(即调用webservice)操作.我正在写客户端.

  1. 现在,当我尝试实施AsyncTaskdoInBackground方法,我会在下面的两个错误protected String doInBackground(String[] params)... ,如果我写@Override 与它的注释:

    MainActivity.MyTask类型的方法doInBackground(String [])必须覆盖或实现超类型方法.1快速修复:删除"@Override"注释

    以及以下错误private class MyTask extends AsyncTask...:

    MainActivity.MyTask类型必须实现继承的抽象方法AsyncTask.doInBackground(String [] ...).2快速修复:添加未实现的方法(使用 注释doInBackground再次自动生成 方法).使类型'MyTask'抽象.@Override

  2. 如果我不写@Override注释,我只得到了第二个错误.

    ...
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            String [] params = {URL, METHOD_NAME, NAMESPACE}; 
        }
    
        private class MyTask extends AsyncTask<String[], Void, String> {
    
            //@Override write it or not write it? :s ****************
            protected String doInBackground(String[] params) { …
    Run Code Online (Sandbox Code Playgroud)

java android overriding annotations android-asynctask

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