我只是生成了一些 equals 方法,想知道是否建议使用 Objects.equals() 方法将字段与 Java 7 进行比较。
Eclipse 会像这样生成 equals:
public class A
{
private String a;
private String b;
@Override
public boolean equals(Object obj)
{
if(this == obj)
return true;
if(obj == null)
return false;
if(getClass() != obj.getClass())
return false;
A other = (A)obj;
if(a == null)
{
if(other.a != null)
return false;
}
else if(!a.equals(other.a))
return false;
if(b == null)
{
if(other.b != null)
return false;
}
else if(!b.equals(other.b))
return false;
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道,这是否是一个好习惯:
public …Run Code Online (Sandbox Code Playgroud) 我正在使用Apache POI来评估工作簿的每个公式单元格.当一个单元格包含对标准excel函数NOW()的调用时,Poi正确评估它并用当前时间替换该调用 - 格式化为VM的默认时区.我想调整这个时区.有没有办法改变DateUtil的时区?
我在3.14-beta1中找到了NOW Implementation的代码,我附上它以供参考:
/**
* Implementation of Excel NOW() Function
*
* @author Frank Taffelt
*/
public final class Now extends Fixed0ArgFunction {
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex) {
Date now = new Date(System.currentTimeMillis());
return new NumberEval(DateUtil.getExcelDate(now));
}
}
Run Code Online (Sandbox Code Playgroud)