我想在java中一般添加数字.我遇到了困难,因为Numbers类并不真正支持我想做的事情.到目前为止我尝试过的是:
public class Summer<E extends Number> {
public E sumValue(List<E> objectsToSum) {
E total = (E) new Object();
for (E number : objectsToSum){
total += number;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
显然这不起作用.我该如何去有关更正此代码,所以我可以给出一个列表<int>或者<long>或任何与返回的总和?
我试过以下无济于事:
new Period(Years.ONE).getDays();
new Period(1, 0, 0, 000).getDays();
Run Code Online (Sandbox Code Playgroud)
我想要的答案显然是365.
我在构造DateTime(或LocalDate)时遇到了问题.我正在转换旧代码以在内部使用joda来使事情更加清晰.但是我遇到了+1900问题......
这通过:
assertEquals(2082, new Date(2082, 1, 1).getYear());
Run Code Online (Sandbox Code Playgroud)
这两个都失败了:
assertEquals(2083, new LocalDate(new Date(2083, 1, 1)).getYear());
assertEquals(2084, new DateTime(new Date(2084, 1, 1)).toLocalDateTime().getYear());
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?如何从Date对象获取DateTime?