java - 有没有办法使用java流来比较两个字符串?

标签 java list java-8 java-stream

此方法比较两个字符串。其中之一来自一个物体。如果字符串匹配,则对象返回 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"))
                ...
                ...
                ...
    }

你知道如何解决这个问题吗?我还想知道这两种变体中哪一种对于大量数据更有效。

最佳答案

替换

...
...
...

.map(MandantKagAccountEntity::getMandantKagId)
.findFirst()
.orElse(null);

关于java - 有没有办法使用java流来比较两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57608633/

相关文章:

java - 处理 2.0 中 ArrayList<byte> 的语法错误

java - 复制具有条目限制的 java 列表

java - 如何根据重复的父对象合并列表中的子对象

java - Wicket ListView 不刷新

Java - 数组的索引何时越界?

c# - 管理带有移动项目的列表的(几乎)最佳方法

amazon-web-services - 用于移动到冰川的对象的 AWS Lambda

java - 分割字符串并存储在 HashMap Java 8 中的模式

java - 使用 MocksControl 创建 PartialMock

c# - 如何从 List<T> 中删除特定对象