我正在关注 GCM 上的 android 教程,该教程使用了一个名为“doInBackground”的函数,他们定义了这个函数,如下所示:
private void registerInBackground() {
    new AsyncTask() {
        @Override
        protected String doInBackground(Void... params) {
            //do stuff
        }
        @Override
        protected void onPostExecute(String msg) {
            //do stuff
        }
    }.execute(null, null, null);
}
但是当我将他们自己的代码复制并粘贴到eclipse中时,它抱怨说我没有实现doInBackground。这是因为它期望 doInBackground 具有“对象”的输入参数,并且它无法识别定义的参数,因为它的输入参数是空的。现在,如果我将异步任务声明为一个类,我会放在<Void, Void, String>它前面,这会告诉编译器我希望我的 doInBackground 有 Void 作为输入。但是当我这样放在<Void, Void, String>“new AsyncTask()”前面时:
    private void registerInBackground() {
    new AsyncTask() <Void, Void, String>{
我得到编译器错误:
Syntax error on tokens, delete these tokens