小编Ren*_*hek的帖子

7
推荐指数
1
解决办法
9292
查看次数

Stream.reduce(Float,BinaryOperator)BinaryOperator是指哪种功能接口方法?

例如,

List<Product> productsList = new ArrayList<Product>();  
productsList.add(new Product(1,"HP Laptop",25000f));  
productsList.add(new Product(2,"Dell Laptop",30000f));  
productsList.add(new Product(3,"Lenevo Laptop",28000f));  
productsList.add(new Product(4,"Sony Laptop",28000f));  
productsList.add(new Product(5,"Apple Laptop",90000f));  

Float totalPrice = productsList.stream()  
                               .map(product->product.price)  
                               .reduce(0.0f,(sum, price)->sum+price);   
System.out.println(totalPrice); 
Run Code Online (Sandbox Code Playgroud)

这是哪个功能界面,(sum, price)->sum+price是指?

java java-8 java-stream functional-interface

7
推荐指数
2
解决办法
92
查看次数

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 没有为 ObjectReader 配置值类型

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No value type configured for ObjectReader在执行以下代码时遇到问题

杰克逊版本是 jackson-databind-2.9.9.jar

public <T> T parsingData(String body) {
  try {
    return getObjectMapper().reader().readValue(body);
  } catch (IOException ioe) {
     ioe.printStackTrace();
  }
}
Run Code Online (Sandbox Code Playgroud)

在我进入的确切异常之下printStackTrace,可以找到String body在异常中暴露的那个。

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No value type configured for ObjectReader
at [Source: (String)"{
     "timestamp": "2019-06-04T09:36:50.086+02:00",
     "path": "/api/check/85358/checking/246syb-f3f2-4756-91da-dae3e8ce774b/test/22462da-c4e2-45ca-bd27-246/rows/8bc3965a-ae22-4d7f-b770-262sgs24/port",
     "status": 400,
     "error": "Internal Server Error",
     "message": "[owner.firstName2:size:1:30, owner.lastName2:size:1:30]",
     "errorCode": 200000
    }
    "; line: 1, column: 1]
Run Code Online (Sandbox Code Playgroud)

更新:你能解释一下为什么我会收到这个异常吗?这是因为我没有提供Class还是TypeReference

java jackson jackson-databind

3
推荐指数
1
解决办法
2162
查看次数