java 获取枚举对象_Java:获取与枚举相关联的对象
我有一個(gè)ArrayList充滿了自定義對(duì)象。我需要將此ArrayList保存到一個(gè)Bundle中,然后再檢索它。
使用Serializable和Parcelable失敗后,我現(xiàn)在只是試圖以某種方式將與索引關(guān)聯(lián)的對(duì)象保存在ArrayList中,然后在恢復(fù)Bundle并將對(duì)象添加回來(lái)時(shí)檢查這些對(duì)象。
我擁有的是這樣的:
保存軟件包時(shí):
//Create temporary array of the same length as my ArrayList
String [] tempStringArray = new String[myList.size()];
//Convert the enum to a string and save it in the temporary array
for (int i = 0; i
tempStringArray [i] = myList.get(i).getType(); //returns the enum in string form
}
//Write this to the Bundle
bundle.putStringArray("List", tempStringArray);所以我現(xiàn)在有一個(gè)字符串?dāng)?shù)組,它表示最初在ArrayList中的對(duì)象的枚舉類型。
所以,在恢復(fù)Bundle時(shí),我正在嘗試的是這樣的:
//Temporary string array
String[] tempStringArray = savedState.getStringArray("List");
//Temporary enum array
ObjectType[] tempEnumArray = new ObjectType[tempStringArray.length];
for (int i = 0; i
tempEnumArray[i]=ObjectType.valueOf(tempEnemies[i]);
}所以,現(xiàn)在我有了最初在ArrayList中的每個(gè)項(xiàng)目的枚舉類型。
我現(xiàn)在想要做的事情就像(會(huì)進(jìn)入上面的for循環(huán)):
myList.add(tempEnumArray[i].ObjectTypeThisEnumRefersTo());很明顯,上面的“ObjectTypeThisEnumRefersTo()”方法不存在,但最終,我試圖找出。這是可能的,或者也許有其他方式做到這一點(diǎn)?
總結(jié)
以上是生活随笔為你收集整理的java 获取枚举对象_Java:获取与枚举相关联的对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 年轻人爱上用B站学习?播放时长最长内容竟
- 下一篇: java 如何实现计数_如何高效的实现一