不兼容的类型错误 - 如何解决?

我正在开发一个在 java 代码中有一些错误的 Android Studio 项目。如问题中所述,我收到不兼容的类型错误。错误文本如下。


不兼容类型错误:


必需:com.tutorial.air.model.json.Object


找到:Java.util.concurrent.Executer


在这里,我附上了负责任的 Java 方法。


public <S extends SyncManager> S createSyncManager(Class<S> cls, Object obj) {

        if (obj != null) {

            try {

                Class cls2 = obj.getClass();

                if (obj instanceof RealmModel) {

                    cls2 = Util.getOriginalModelClass(((RealmModel) obj).getClass());

                }

                return (SyncManager) cls.getDeclaredConstructor(new Class[]{Executor.class, SessionManager.class, cls2}).newInstance(new Object[]{this.mExecutor, this, obj});

            } catch (Throwable e) {

                e.printStackTrace();

                throw new RuntimeException(e);

            }

        }

        return (SyncManager) cls.getDeclaredConstructor(new Class[]{Executor.class, SessionManager.class}).newInstance(new Object[]{this.mExecutor, this});

    }

错误在于两行:


return (SyncManager) cls.getDeclaredConstructor(new Class[]{Executor.class, SessionManager.class, cls2}).newInstance(new Object[]{ this.mExecutor, this, obj});



return (SyncManager) cls.getDeclaredConstructor(new Class[]{Executor.class, SessionManager.class}).newInstance(new Object[]{ this.mExecutor, this });


突出显示的单词有问题。


让我知道是否需要其他任何调查。提前致谢。


编辑:


import java.util.concurrent.ExecutionException;

import java.util.concurrent.Executor;

import java.util.concurrent.Executors;

import com.tutorial.air.Application;

import com.tutorial.air.model.json.AuthCredential;

import com.tutorial.air.model.json.AuthCredential.Type;

import com.tutorial.air.model.json.MigrateRequest;

import com.tutorial.air.model.json.Object;

import com.tutorial.air.model.json.RegisterRequest;

import com.tutorial.air.model.json.Token;

import com.tutorial.air.model.realm.User;

import com.tutorial.air.network.AuthService;

import com.tutorial.air.network.RestClient;

import com.tutorial.air.utils.Date;


不负相思意
浏览 187回答 1
1回答

30秒到达战场

清除此行。import&nbsp;com.tutorial.air.model.json.Object;如果您使用Objectas&nbsp;com.tutorial.air.model.json.Object,则应将其更改为com.tutorial.air.model.json.Object, 然后。Object意味着java.lang.Object默认。或者保留当前导入并java.lang.Object用于错误行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java