像Arargs方法一样,Android Android Andnctask交战仅应覆盖或被其他varargs方法覆盖



我已经实现了android async任务类,在这里被覆盖的 doInBackground(String[])方法,但是代码正在工作,如

Varargs methods should only `override` or be overridden by other `varargs` methods unlike new `JSONTask(){}.doInBackground(String[])` and `JSONTask.doInBackground(String...)`

jsontask类

public class JSONTask extends AsyncTask<String, Void, String> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    @Override
    protected String doInBackground(String... params) {
        ///String mJsonString =  doing my stuff..................
        return mJsonString;
    }
    }

我有两个班级课程和classB,我在两个类中都使用了jsontask,我都有override doinbackground()方法,但是代码正常工作,但像 varargs方法仅应覆盖或被其他varargs方法覆盖,与new jsontask(){}。doinbackground(String [])和jsontask.doinbackground(String ...)。

Classa Code

class ClassA
    {
    new JSOnTask()
    {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    @Override
    protected String doInBackground(String... params) {
        ///String mJsonString =  doing my stuff..................
        return mJsonString;
    }
        protected void onPostExecute(String result) {
        }

    }.execute(params);
    }

classB代码

class ClassB
    {
    new JSOnTask()
    {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    @Override
    protected String doInBackground(String... params) {
        ///String mJsonString =  doing my stuff..................
        return mJsonString;
    }
        protected void onPostExecute(String result) {
        }

    }.execute(params);
    }

如何避免这种交战...谢谢

doInBackground()方法签名是

protected String doInBackground(String... params)

期望变量参数为参数,但是当您覆盖此方法时,例如

protected String doInBackground(String[] strings)

通过传递String数组而不是String var args

在这里编译器不会显示任何错误,但警告您(您说的警告)

最新更新