我有一个Employee类,如下所示
public class Employee {
private String name;
private BigDecimal salary;
// setters and getters
}
我正在尝试使用MethodReference获得如下所示的工资
public class TestExample {
public static void main(String args[]) throws ParseException
{
Employee emp = new Employee();
String salary = Optional.ofNullable(emp)
.map(BigDecimal :: getSalary)
.map(String :: toString)
.orElse("");
}
知道如何只使用MethodReference获得工资吗
现在在toString看到一个问题
String salry = Optional.ofNullable(emp)
.map(Employee :: getSalary)
.map(Employee :: toString)
.orElse("");
您需要了解类型是如何变异的。当您将这个东西映射到您正在使用的薪资时,可以使用BigDecimal
类型的可选选项,因此它将不起作用。
Optional<String> salary = Optional.ofNullable(emp)
.map(Employee::getSalary)
.map(BigDecimal::toString);
在您的情况下,我也不明白为什么您应该使用方法引用来访问salary字段,也不明白为什么您使用可选类型...
请查看以下代码: 这是可行的,但方法名是作为字符串传递的,因此即使myMethod不存在,也会编译。 另一方面,Java8引入了一个方法引用特性。它在编译时被检查。可以使用这个特性来获取方法信息吗? 完整示例: 换句话说,我希望有一个与以下C#代码等效的代码:
问题内容: 在我的数据库中,我具有NextStatDistanceTime值作为浮点数。执行“ ”行时,出现错误 系统无效的强制转换异常 如何在此代码中从sql命令获取浮点值? 这是我的代码: 问题答案: 我想是时候放一张桌子了。 T-SQL类型名称 相当于.NET C#类型名称 `DataReader` 方法 `FLOAT` `System.Double` `double` `IDataRead
我正在使用Apache Jena查询DBpedia以获得特定主题的Wikipedia URL。 所以我使用 一个示例页面是http://dbpedia.org/page/chicago_cubs
我想知道那些每天都涨价的水果的名字。所以产量应该是“苹果”,因为苹果的价格在3月1日是15,3月2日是16,3月3日是17...............................................请任何人给我建议。
我尝试使用ireport对BigDecimal值进行sum和avg算术运算。我做的时候总会有误差。 所有类型都在 ireport 中定义为 BigDecimal 。 -分离,此示例中的变量工作正常,但我不能对变量进行算术运算。 总和与平均值如何键入BigDecimal? 在我的示例中,这不是工作: 我尝试在ireport中使用Java sintax,但是不起作用。 我使用的是3.0.0版iRepo
问题内容: 如何获取BigDecimal变量可以容纳的最大可能值?(最好以编程方式,但也可以进行硬编码) 编辑 好,因为BigDecimal是任意精度,所以才意识到没有这种事情。因此,我最终得到了这个结果,它对于我的目的来说足够大: 问题答案: 它是一个任意精度的类,它将达到您想要的大小,直到您的计算机内存不足。