Tôi có bản đồ sau của tiêu chí tìm kiếm:thông số Pass để các vị từ
private final Map<String, Predicate> searchMap = new HashMap<>();
private void initSearchMap() {
Predicate<Person> allDrivers = p -> p.getAge() >= 16;
Predicate<Person> allDraftees = p -> p.getAge() >= 18
&& p.getAge() <= 25
&& p.getGender() == Gender.MALE;
Predicate<Person> allPilots = p -> p.getAge() >= 23
&& p.getAge() <=65;
searchMap.put("allDrivers", allDrivers);
searchMap.put("allDraftees", allDraftees);
searchMap.put("allPilots", allPilots);
}
Tôi đang sử dụng bản đồ này theo cách sau:
pl.stream()
.filter(search.getCriteria("allPilots"))
.forEach(p -> {
p.printl(p.getPrintStyle("westernNameAgePhone"));
});
Tôi muốn biết, làm thế nào tôi có thể chuyển một số tham số vào bản đồ các vị từ?
I.e. Tôi muốn lấy vị ngữ từ bản đồ bằng chữ viết tắt của chuỗi và chèn một tham số vào phần được lấy ra từ một vị từ bản đồ.
pl.stream()
.filter(search.getCriteria("allPilots",45, 56))
.forEach(p -> {
p.printl(p.getPrintStyle("westernNameAgePhone"));
});
Đây là link từ Tôi đã giải quyết được cách tiếp cận bản đồ vị ngữ này.
Những gì bạn muốn làm sẽ không biên dịch, và bạn không giải thích nó phải làm gì. –
Tôi vừa đưa ra một ví dụ. Chắc chắn, nó sẽ không biên dịch. Đây là những gì tôi muốn làm: Tôi muốn có được một vị từ một bản đồ bằng cách viết tắt chuỗi của nó và chèn một tham số vào đưa ra từ một vị từ bản đồ. –
Thông số sẽ được sử dụng để làm gì? Mục tiêu của 45 trong ví dụ của bạn là gì? –