我正在从事一个图书馆项目;有一个库类:
public Library(int id, String libName, String libAddress, double libBudget, boolean libEnabled)
还有一个图书管理员类:
Public Librarian(int id, String firstname,String surname,
String email, String nss, String password, int role, int library, boolean enabledLibrarian)
每个图书馆员都被分配到一个图书馆:
Librarian.getLibrary(int x);
项目范围需要管理多个库,因此我有一个 Controller 在开始时生成我的库列表
public static List<Library> libraries()
购买图书、批准借阅等方法都在Library()类下。我不知道该怎么做是获取对象 Library() 的实例,其中 Library() 的参数等于 Librarian() 中相应参数的参数 -
private static void LibrarianLanding(Librarian librarian, Library library) {
System.out.println("Welcome, " + librarian.getFirstname() + " " + librarian.getSurname());
System.out.println("You are in the Admin area of Library No." + librarian.getLibrary());
Library library = libraries.get() //WHERE library.getID() == Librarian.getLibrary();
library.PurchaseSomeBooks(librarian);
可能是我缺少的一些非常简单的东西。
最佳答案
如果您将图书馆列表更改为由图书馆 ID 键入的图书馆 map ,如下所示:
Map<Long, Library> libraries;
然后你可以像这样通过键检索:
Library library = libraries.get(librarian.getLibrary().getId())
但是,如果 librarian.getLibrary() 返回该图书馆员的图书馆,为什么需要从列表(或 map )中获取它?也许librarian.getLibraryId()更有意义?
关于java - 通过比较其参数之一获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60123248/