我有一些Java代码按上次修改时间按降序对对象列表进行排序:
public void getLists(final String sortBy) { }
这很好用,但我想使用方法参数进行自定义排序:
sortBy
假设modifiedtime
为investmentAmount = eval(input("Enter investment amount: "))
annualInterestRate = eval(input("Enter annual interest rate: "))
monthlyInterestRate = (annualInterestRate) / 10 / 12
numberOfYears = eval(input("Enter number of years: "))
numberOfMonths = numberOfYears * 12
futureInvestmentValue = investmentAmount * (1 + monthlyInterestRate) **\
numberOfMonths
print("Accumulated value is", futureInvestmentValue)
,我该如何调整lambda才能使用它?
我想我需要使用Java反射,但我不确定。
答案 0 :(得分:0)
反思是一个坏主意。您的方法应为:
public List<ObjModel> getLists(Comparator<ObjModel> sortby) {
return lists.stream().sorted(sortby).collect(Collectors.toList());
}
使用该方法,您可以在参数中使用lambda来确定要用于对列表进行排序的ObjModel类的哪个字段