![](/img/trans.png)
[英]get an element from an arraylist of one class to be used in another class
[英]Get an element from arrayList inside another class
我有一個Staff類,其中包含該特定工作人員的角色列表。 我也有staffList來保存員工對象。
如何從該類的特定實例的rolesList中獲取一個元素?
我努力了:
staffList.get(0).getRolesList().get(0)
哪個應該是staffList的第一個元素中的rolesList的第一個元素,但它只是ruturns null。
我也嘗試過:
rolesList.get(staffList.get(0))
rolesList.getIndexOf(staffList.get(0).getRolesList.get(0)
全部返回null
如果我只是使用get index直接從rolesList獲取值,它將顯示沒有問題。
我認為它是獲取rolesList的一個版本,但不是該特定Staff對象中的版本
我在roleList中創建了一個新的Staff成員和一個角色,然后在構造staff對象時使用了列表,所以使用該對象的getRolesList方法然后獲取索引它應該從roleList中返回值,但它不是' T:
private List<Staff> staffList = new ArrayList();
ArrayList<Role> roleList = new ArrayList();
roleList.add(Role.DRIVER);
testDriver = new Staff("Mike", "Joy", roleList);
testStaffList.add(testDriver);
GetRolesList()代碼
public List<Role> getRoleList() {
return roleList;
}
我基本上想從testdriver對象中的對象rolelist中獲取存儲的Role。
testDriver - > roleList - > Role.DRIVER(或者角色恰好是什么)
(一)我們沒有看到的代碼添加行testDriver
到staffList
。
staffList.add( testDriver );
(b)你在調用getRolesList
缺少parens。
(c)你需要做一些基本的調試。 在調試器或額外代碼中,請查看:
staffList
大小 roles
大小 獎金提示......顯然你正在使用Role
的枚舉 。 如果是這樣,您應該考慮使用EnumSet
而不是List
來減少內存使用和執行速度。 EnumSet
是Set
一個專門實現。 關於另一個問題的更多討論 不是你的問題的一部分,只是一個提示。
Set<Role> roles = EnumSet.of( Role.DRIVER , Role.MECHANIC );
Staff testDriver = new Staff( "Mike" , "Joy" , roles );
你能給出完整的資料來源嗎......目前尚不清楚。 我想你想把你的員工對象添加到員工名單中..如果是的話
Stafflist.add(new Staff("a","b",role list));
添加你想要的所有然后嘗試得到..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.