此方法比较两个字符串。其中之一来自物体。如果字符串匹配,则ID由对象返回。
private static Long getDefaultKag(Long mandandId) {
List<MandantKagAccountEntity> mandantKagAccountEntities = new MandantKagAccountManager().findAllKags(mandandId);
for (MandantKagAccountEntity mandantKagAccountEntity : mandantKagAccountEntities) {
if (mandantKagAccountEntity.getKagText().equals("Default_kag")) {
return mandantKagAccountEntity.getMandantKagId();
}
}
return null;
}
有什么办法可以解决流问题吗?我的方法,但是我无能为力了。
private static long getDefaultKag(Long mandandId) {
return new MandantKagAccountManager().findAllKags(mandandId).stream()
.filter(m -> m.getKagText().equals("Default_Kag"))
...
...
...
}
您知道如何解决此问题吗?我还想知道两种变体中的哪一种对大量数据更有效。
答案 0 :(得分:5)
替换
Arrays.stream(actMsg.split("\n"));
与
...
...
...
答案 1 :(得分:0)
我认为它将解决问题
private static long getDefaultKag(Long mandandId) {
MandantKagAccountManager mandantKagAccountManager=new MandantKagAccountManager().findAllKags(mandandId).stream()
.filter(m -> m.getKagText().equals("Default_Kag")).findFirst()
.orElse(null);
if(mandantKagAccountManager!=null)
return mandantKagAccountManager.getMandantKagId()
return null;
}