我正在嘗試拉動對象類型的Popularity字段Number。Room需要此對象的類型轉換器,我在下面進行了集成:public class NumberConverter {@TypeConverterpublic static Number toNumber(Integer integer){ return integer == null ? null : toNumber(integer); }@TypeConverterpublic static Integer toInt(Number number){ return number == null ? null : number.intValue(); }}加載應用程序時,我立即收到引用以下行的StackOverFlow錯誤: return number == null ? null : number.intValue();注意:我還Executors用于異步處理讀寫:public class AppExecutors{//for Singleton Instantiationprivate static final Object LOCK = new Object();private static AppExecutors sInstance;private final Executor diskIO;private final Executor mainThread;private final Executor networkIO;public AppExecutors(Executor diskIO, Executor mainThread, Executor networkIO) { this.diskIO = diskIO; this.mainThread = mainThread; this.networkIO = networkIO;}public static AppExecutors getsInstance(){ if (sInstance == null){ synchronized (LOCK){ sInstance = new AppExecutors(Executors.newSingleThreadExecutor(), Executors.newFixedThreadPool(3), new MainThreadExecutor()); } } return sInstance;};public Executor diskIO(){return diskIO;};public Executor mainThread(){return mainThread;}public Executor netWorkIO(){return networkIO;}private static class MainThreadExecutor implements Executor{ private android.os.Handler mainThreadHandler = new android.os.Handler(Looper.getMainLooper()); @Override public void execute(@NonNull Runnable runnable) { mainThreadHandler.post(runnable); } }}
1 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
您能否在代碼中檢查此功能:
@TypeConverter
public static Number toNumber(Integer integer){
return integer == null ? null : toNumber(integer); }
您recursion
在這里無限進行,也許這就是為什么要獲得的原因StackOverflowError
。
添加回答
舉報
0/150
提交
取消