有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何检查java中是否存在具有某些值的实体

我有两个实体客户和电影,我必须租电影,所以我需要一个客户和一部电影,这就是为什么我创建了租赁类。问题是,当我想检查我想租一部电影时输入的id是否存在于客户端文件中,如果不存在则打印消息。但它不起作用

类客户端:

public class Client extends BaseEntity<Long> {
private String name;
private int age;
public Client(String name, int age){
    this.name = name;
    this.age = age;
}
public String getName(){return name;}
public int getAge(){return age;}
public void setName(String name){this.name=name;}
public void setAge(int age){this.age=age;}

@Override
public String toString(){
    return "Client:{ " + name + " "+age + "} " + super.toString();
}

}

这部电影几乎和《客户》一样,租赁类:

public class Rental extends BaseEntity<Long> {

private Long IdClient;
private Long IdMovie;

public Rental(Long IdClient,Long IdMovie){
    this.IdClient = IdClient;
    this.IdMovie = IdMovie;
}

public Long getIdClient() {return IdClient;}
public Long getIdMovie(){return IdMovie;}

public String toString(){
    return "Rental:{ " + IdClient + " "+ IdMovie + "} " + super.toString();
}
}

还有控制台,我试图检查是否存在:

private Rental readRental(){
    printAllClients();
    printAllMovies();
    System.out.println("Enter the Rentals ID , Clients ID and the rented Movie ID: ");
    BufferedReader bufferR = new BufferedReader(new InputStreamReader(System.in));
    try{
        Long id=Long.valueOf(bufferR.readLine());
        Long id1=Long.valueOf(bufferR.readLine());
        Long id2=Long.valueOf(bufferR.readLine());

        Rental rental = new Rental(id1, id2);
        rental.setId(id);
        return rental;
    }catch (IOException e){
        e.getStackTrace();
    }
    return null;
}

private void addRentals(){
    Set<Client> clients = clientC.getAllClients();

    Rental rental = readRental();
    if (rental == null || rental.getId() < 0 ){
        return;
    }
    if (!clients.contains(rental.getIdClient())){   //!!!!!!!!!!
        System.out.println("Doesn't contains");
    }
    else{
        System.out.println("Contains");
    }

    try{
        rentalC.addRental(rental);

        System.out.println("A rental was added.");
    }
    catch (ValidatorException e){
        e.printStackTrace();

    }
}

当我介绍一个存在的客户时,它会告诉我“不存在”。为什么


共 (1) 个答案