2013-12-09 45 views
0

这是我的代码:不能currentTime的转换为字符串

public void idoKiiras(){ 
    String idostring = new String(); 
    idostring.valueOf(System.currentTimeMillis()); 
    System.out.print(idostring); 
    ido.setText(idostring); 
} 

我所得到的字符串是什么,它是空的。任何解决方案

+1

使用'System.nanoTime()'更好的准确性。 [链接](http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#nanoTime%28%29) – KrishPrabakar

回答

5

String.valueOf()是一个返回String值的static方法。使用它,像这样

String idostring = String.valueOf(System.currentTimeMillis()); 
System.out.print(idostring); 
ido.setText(idostring); 

之前,您使用的valueOf方法,但不这样做有它的返回值什么。

idostring.valueOf(System.currentTimeMillis()); 

请记住,String对象是不可变的。否String方法将在内部更改String,它将始终返回一个新的String对象。

+0

谢谢,这是工作。有点晚了,我写了一些愚蠢的东西。 (我发现了第二个解决方案,我不知道哪一个更好,String idostring = Long.toString(System.currentTimeMillis());) – minnera

+0

@minnera不客气。如果你看看'String.valueOf(long)'的源代码,它会调用'Long.toString(yourValue);',所以它们是等价的。 –

0

@Sotirios已经回答了这个,很漂亮,但是,我只是想给你一点小费来帮助有这个问题的人。

在初始化阶段将idostring设置为一个愚蠢的值,这样您可以看到它是否正在从各种方法更改。

E.g

String idostring = "THIS_SHOULD_CHANGE";

这样一来,当你到设定IDO的文字,你会不会有一个空白标签/按钮/ TextView的。