我正在处理代码以在每行打印上输出时间戳。但是当我为此创建一个方法时,它会自动使字符串为null,然后在每一行打印时间戳AND null
。如何阻止它说null
但仍打印时间戳?
这是代码和输出:
System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit ");
private static String printTimeStamp() {
// TODO Auto-generated method stub
String printTimeStamp = null;
java.util.Date date= new java.util.Date(); {
System.out.println(new Timestamp(date.getTime()));}
return printTimeStamp;
}
输出:
2015-11-19 23:28:19.369
null Enter something to write to file...Q to quit
答案 0 :(得分:3)
您正在使用null初始化printTimeStamp
,而不是在之后分配,并返回相同的值。
修改方法并将值赋给变量printTimeStamp
public static void main(String[] args) {
System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit ");
}
private static String printTimeStamp() {
// TODO Auto-generated method stub
String printTimeStamp = null;
java.util.Date date = new java.util.Date();
Timestamp timestamp = new Timestamp(date.getTime());
System.out.println(new Timestamp(date.getTime()));
printTimeStamp = timestamp.toString();
return printTimeStamp;
}
<强>输出强>
2015-11-20 10:07:28.279
2015-11-20 10:07:28.279 Enter something to write to file...Q to quit
答案 1 :(得分:3)
这是因为您通过编写
将变量printTimeStamp
设置为null
String printTimeStamp = null;
因此,您将返回具有空值的printTimeStamp
变量,并且您要按行打印日期,
System.out.println(new Timestamp(date.getTime()));
当您在方法中使用System.out.pritnln时,您不需要为该方法使用返回类型。您可以按以下方式更改方法,
private static void printTimeStamp() {
// TODO Auto-generated method stub
String printTimeStamp = null;
java.util.Date date= new java.util.Date();
System.out.println(new Timestamp(date.getTime()));
}
如果您想使用返回类型,则可以按如下方式更改方法,
private static String printTimeStamp() {
// TODO Auto-generated method stub
java.util.Date date= new java.util.Date();
String printTimeStamp =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date.getTime());
return printTimeStamp;
}
答案 2 :(得分:1)
您将null
从方法名称返回为printTimeStamp
,因为您尚未为名为printTimeStamp
的变量指定任何值。它被声明为null,但未启动。使用以下指定值
String printTimeStamp =new Timestamp(date.getTime());
答案 3 :(得分:0)
修改您的代码,如下所示
private static String printTimeStamp() {
// TODO Auto-generated method stub
java.util.Date date= new java.util.Date();
String printTimeStamp =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date.getTime());
return printTimeStamp;
}
据我所知,您只需要使printTimeStamp()打印当前日期时间。所以最好用我的方式。使用simpledateformat类转换当前日期时间,并以字符串格式返回日期时间。只需创建一个以字符串格式返回日期时间的方法,并在任何地方调用此方法。例如System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit ");
答案 4 :(得分:0)
在printTimeStamp()
而不是String printTimeStamp = null;
,请使用String printTimeStamp = "";
您在主函数中将null对象添加到String。