我有一个Java对象列表,每个对象都包含一个String值(代码)。我也有一个Java Map。我想检查Map键中的所有元素是否都包含在String值列表中。
Model类:
public class Obj {
private String code;
private String name;
private String uom;
public Obj(String code, String name, String uom) {
this.code = code;
this.name = name;
this.uom = uom;
}
}
实现:
private static final Obj weight = new Obj("weight", "Weight", "Kg");
private static final Obj height = new Obj("height", "Height", "cm");
public static final List<Obj> objMasters = List.of(weight, height);
Set<String> keySet = map.keySet(); // returns the keyset values from the Map
boolean match =objMasters.stream()
.anyMatch(objMaster -> objMaster.getCode().matches(keySet.toString()));
但是使用此实现,我总是将false作为匹配项的值。这里出了什么问题?
答案 0 :(得分:0)
根据我现在对您的问题的了解,尝试执行此操作。
$('a.nav-link').on('shown.bs.tab', function(e) {
var href = $(this).attr('href');
$('html, body').animate({
scrollTop: $(href).offset().top
}, 'slow');
});
答案 1 :(得分:0)
0,当您使用collection或map时,请重写equals和hashCode方法 / n1,您可以深入研究源代码,例如get(),contain()和其他方法 / n2,那么您将不明白为什么