小编bri*_*nts的帖子

Java 8 Stream Filter总是返回一个空列表

我想过滤signedOn 字段为空的所有传输。当我运行第一段代码时,很清楚哪些是空的,哪些不是,并且它们被正确记录,但是当我运行流过滤器时,它返回一个空列表,我似乎无法找到问题所在它... signedOn 是一个日期字段。

这有效并记录所有条目是否为空:

    for (Transfer transfer : route.getTransferCollection()) {
        if (transfer.getSignedOn() == null) {
            logInfo("This transfer is null");
        } else if (transfer.getSignedOn() != null) {
            logInfo("This transfer is not null");
        }
    }
Run Code Online (Sandbox Code Playgroud)

这将返回一个空列表:

    return route.getTransferCollection()
            .stream()
            .filter(transfer -> transfer.getSignedOn() == null)
            .collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

java-8 java-stream

5
推荐指数
1
解决办法
1万
查看次数

我可以将字符串文字映射到类型的类型吗?

我有一个字符串文字类型,例如

type ConfigurationTypes = 'test' | 'mock'
Run Code Online (Sandbox Code Playgroud)

和一些类型

type MockType = { id: string }
type TestType = { code: string }
Run Code Online (Sandbox Code Playgroud)

我想创建一个将字符串文字“映射”到该类型的类型,这样如果发生ConfigurationTypes更改,我的类型MappedConfigurationTypes也需要相应更改。有可能吗?

type MappedConfigurationTypes: {[key in ConfigurationTypes]: any} = {
  test: TestType
  mock: MockType
}
Run Code Online (Sandbox Code Playgroud)

typescript typescript-generics

2
推荐指数
1
解决办法
244
查看次数