如何将/转换/转换为String?

use*_*714 283 java string type-conversion long-integer

我刚刚创建了示例BB应用程序,可以选择日期.

DateField curDateFld = new DateField("Choose Date: ",
  System.currentTimeMillis(), DateField.DATE | DateField.FIELD_LEFT);
Run Code Online (Sandbox Code Playgroud)

选择日期后,我需要将该long值转换为String,以便我可以轻松地将日期值存储在数据库中的某个位置.我是Java和Blackberry开发的新手.

long date = curDateFld.getDate();
Run Code Online (Sandbox Code Playgroud)

我应该如何将这个长值转换为String?另外我想从String转换回long.我觉得我能用long l = Long.parseLong("myStr");吗?

Gre*_*osz 387

请参阅String类参考文档:String s = String.valueOf(date);

如果您的Long可能为null并且您不想获得4个字母的"null"字符串,则可以使用Objects.toString,例如:String s = Objects.toString(date, null);


编辑:

你可以使用它来反转它,Long l = Long.valueOf(s);但是你需要抓住这个方向NumberFormatException

  • 注意`Long.valueOf(String)`返回一个`Long`.如果你想要一个`long`,请使用`Long.parseLong(String)`. (13认同)
  • @MarceloAssis .. concat慢约2倍.如果性能在您的申请中很重要. (4认同)

小智 204

String strLong = Long.toString(longNumber);
Run Code Online (Sandbox Code Playgroud)

简单,工作正常:-)

  • 使用原始类型(long)可以正常工作,但是即使使用自动装箱,也可以使用对象类型(长整数)抛出NPE. (3认同)

Ped*_*ito 91

以下应该有效:

long myLong = 1234567890123L;
String myString = Long.toString(myLong);
Run Code Online (Sandbox Code Playgroud)

  • @membersound他们是一样的.基本上String.valueOf(long)调用Long.toString() (2认同)
  • @Nero我不会这样称呼,因为String.valueOf()在为null的情况下将返回“ null”,而Long.toString()将导致NullPointerException (2认同)

小智 20

非常简单,只需将long连接到一个字符串即可.

long date = curDateFld.getDate(); 
String str = ""+date;
Run Code Online (Sandbox Code Playgroud)


iKu*_*hal 10

1.

long date = curDateFld.getDate();
//convert long to string
String str = String.valueOf(date);

//convert string to long
date = Long.valueOf(str);
Run Code Online (Sandbox Code Playgroud)

2.

 //convert long to string just concat long with empty string
 String str = ""+date;
//convert string to long

date = Long.valueOf(str);
Run Code Online (Sandbox Code Playgroud)