小编Bri*_*ker的帖子

使用多个映射函数与java流中的映射中的块语句

说我有以下代码

data.stream()
    .map(x -> {
        Object a = maybeReturnsNull(x);
        return a == null ? defaultValue : a;
    })
Run Code Online (Sandbox Code Playgroud)

我有一些可能正在返回的函数,null我将它应用于流的一个元素.然后我想确保将任何null结果更改为某个默认值.与使用上一个定义辅助变量a并在lambda表达式中使用代码块的示例相比,使用两个映射(如下例)之间是否存在任何显着差异?

data.stream()
    .map(x -> maybeReturnsNull(x))
    .map(x -> x == null ? defaultValue : x)
Run Code Online (Sandbox Code Playgroud)

有没有标准在哪里或不避免使用lambda函数的块语句?

java java-8 java-stream map-function

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

FeignClient:将RequestParam序列化为JSON

我有一个 Spring Boot 应用程序,我试图用它Feign来与远程服务进行通信。我@FeignClient的定义如下:

@FeignClient(name="TEST_SERVICE", url="URL")
@Component
public interface SomeServiceClient
{
    @RequestMapping(
        method = RequestMethod.POST,
        value = "/someService",
        consumes = "application/json",
        produces = "application/json"
    )
    SomeServiceResult getServiceResult(
        @RequestParam(value = "mode") String mode,
        @RequestParam(value = "payload") SomeServicePayload payload
    );
}
Run Code Online (Sandbox Code Playgroud)

我希望将payloadtype 的对象SomeServicePayload序列化为 JSON。我预计这会自动发生,但事实并非如此。相反,payload被序列化为其完全限定的类名。

我需要为此客户端设置自定义编码器/解码器组合吗?我该怎么做?

jackson spring-boot feign

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

使用名称中的变量(R.color.name + variable)从values/colors.xml中检索颜色

我在colors.xml中有一个颜色列表,它们都有tColor1,tColor2,tColor3等格式的名称,我希望使用循环整数作为名称的一部分在for-to-do循环中检索它们.所以我有

for (int i = 0; i < numTrails; i++) {
    newColors[i] = R.color.tColor + i;
}
Run Code Online (Sandbox Code Playgroud)

现在我明白我不能像那样使用R类,但是我可以使用其他什么方法来获取颜色?

android colors android-resources

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

Java String值作为语句的一部分?

我有一个声明要保存信息的类.让我们说它有这些领域

class data {
   int a;
   int b;
   int c;
}
Run Code Online (Sandbox Code Playgroud)

我想要像这样访问这些字段:

String [] fields = {"a", "b", "c"};
data da = new data();
for (int i = 0; i < 3; i++) 
   if (da.fields[i] < 10)
      dosomething();
Run Code Online (Sandbox Code Playgroud)

Java中有没有办法做到这一点?谷歌搜索,我得到了一些关于"反射"的结果,但我从来没有真正听说过,我认为这不是我想要的.有没有办法在Java中这样做?如果没有,是否有任何语言支持这种事情(只是出于好奇)?

java string

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