我有一個Person類,每個Person對象具有唯一的person(id類型)id。我也有一個靜態方法isAlreadyStored(String name),它應該檢查是否已經創建了這個名字的人。我無法通過爲所有創建的Person對象創建一個列表來解決這個問題,因爲我得到錯誤「非靜態變量不能從靜態上下文中引用」,但我沒有任何其他想法如何遍歷所有Person對象找到一個給定的名字。我如何解決這個問題?通過ID(Java)查找對象
-7
A
回答
1
顯然,爲了解決您的問題,您需要一個Person類的所有已創建實例的列表。您應該將其存儲在一個靜態變量中,然後在其上進行搜索。事情是這樣的:
final static allPeople List<Person> = new ArrayList<Person>();
然後,你可以用的東西,名單上的搜索是這樣的:
...
if (allPeople.contains(aPerson)){
...
0
誤差非靜態變量不能從靜態上下文引用意味着你試圖訪問在不脫離與關鍵字static
定義的方法關鍵字static
定義的變量。
例如
public class Main {
private int x = 3;
public static void main(String[] args) {
// Not possible
System.out.println(x);
}
}
而不關鍵字static
定義的變量命名爲一個實例變量和只能從一個實例方法(無關鍵字static
定義的方法)來訪問。
相關問題
- 1. Ruby/Rails通過ID查找對象
- 2. 通過realm.js查找對象
- 3. 通過對象查找對象
- 4. 貓鼬查詢:通過數組中的id查找對象
- 5. 通過ID引用對象? (Java)
- 6. 通過查找特定值通過對象列表查找對象
- 7. Redash MongoDB的查詢通過對象ID
- 8. 使用貓鼬通過ID和10個後續對象查找
- 9. MongoDB C#驅動程序無法通過對象ID查找?
- 10. 通過ID查找繼承對象 - 實體框架
- 11. 使用變量通過類或ID查找對象
- 12. Mongoid,通過搜索部分Id來查找對象?
- 13. JavaScript +通過ID和類路徑查找對象
- 14. 通過ID查找記錄
- 15. 通過對象的id在javascript數組中查找並移動對象
- 16. Spring Data JPA - 如何通過父母對象的ID查找嵌套對象?
- 17. 使用ng-repeat對象數組中的另一個對象的id屬性通過id查找對象
- 18. 通過id()獲取對象?
- 19. 通過oid查找和刪除對象
- 20. 通過一組對象查找文檔
- 21. 通過指向方向查找對象
- 22. 通過標記查找對象
- 23. 通過對象屬性值查找
- 24. 通過對象ID無法查詢對象
- 25. 通過用戶輸入在ArrayList中查找對象 - Java
- 26. 如何通過對象ID和列ID查詢表數據?
- 27. 查找對象ID對象ID數組返回使用貓鼬
- 28. Java中,通過對象
- 29. 更新/通過ID限制查找
- 30. Python lxml通過id-tag查找元素
這是不可能的回答措辭這樣的問題。分享一些代碼和你得到的錯誤 – Mureinik
請發佈您的完整課程代碼。也許你想從主方法(這是靜態的)調用非靜態方法? – Shem
@Mureinik對於無法回答的問題(順便說一句:我同意),我們有驚人的答案。 – Seelenvirtuose