java - 通过比较其参数之一获取对象

标签 java

我正在从事一个图书馆项目;有一个库类:

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/

相关文章:

java - 在主节点 : Failed construction of Regionserver : java.net.BindException

java - 如何在 iText 中定位表格

java - 如何按索引对数组进行排序? (排序索引)

Java NIO 管道与阻塞队列

java - 如何在不影响副本的情况下复制 Java 对象

java - java读取所有网卡的方法

java - 用 Java 创建通用二叉搜索树

java - Dropwizard命令行输入

java - 使用 servlet 将文件上传到特定位置的服务器上?

java - spring mvc 3.0.6 @RequestMapping 两级 url 得到 404