Java 如何使字符串输入不为null

Java 如何使字符串输入不为null,java,null,Java,Null,我正在编写一个代码,以便在打印的每一行上输出一个时间戳。但是,当我为此创建一个方法时,它会自动将字符串设为null,然后打印时间戳和null。如何阻止它说null,但仍然打印时间戳 以下是代码和输出: System.out.println(printTimeStamp()+ " Enter something to write to file...Q to quit "); private static String printTimeStamp() { // TODO Auto-ge

我正在编写一个代码,以便在打印的每一行上输出一个时间戳。但是,当我为此创建一个方法时,它会自动将字符串设为null,然后打印时间戳和
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 

您正在初始化带有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 

这是因为您正在通过写入将变量
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;
}
如果要使用返回类型,则可以按如下所示更改方法:

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;
}

修改您的代码如下

    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()来打印当前日期时间。所以最好用我的方式。使用SimpleDataFormat类转换当前日期时间,并以字符串格式返回日期时间。只需创建一个以字符串格式返回datetime的方法,并随时调用该方法即可。例如
System.out.println(printTimeStamp()+“输入要写入文件的内容…Q以退出”)printTimeStamp()
中编码>

,而不是
字符串printTimeStamp=null,使用
字符串printTimeStamp=“”


您将null对象添加到主函数中的字符串中。

您将从方法名称返回
null
,作为
printTimeStamp
,因为您没有为名为
printTimeStamp
的变量赋值。它被声明为null,但未启动。使用以下命令指定值

String printTimeStamp=新的时间戳(date.getTime())