如何转换/转换为字符串长?


290

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

DateField curDateFld = new DateField("Choose Date: ",
  System.currentTimeMillis(), DateField.DATE | DateField.FIELD_LEFT);

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

long date = curDateFld.getDate();

我应该如何将此long值转换为String?我也想从String转换回long。我认为我可以使用long l = Long.parseLong("myStr");吗?

Answers:


393

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

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


编辑:

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


13
请注意,Long.valueOf(String)返回Long。如果需要long,请使用Long.parseLong(String)
Daniel Hepper 2011年

1
这种方式之间的区别是什么,或者只是像这样:(“” + longAttr)?
Marcelo Assis,2012年

4
@MarceloAssis .. concat慢大约2倍。如果性能对您的应用程序很重要。
哈里·梅农

尼斯,但请注意,java.util.Objects是因为Java 7中唯一可用的
纪尧姆Husta

1
在Java 7之前,您还可以使用Commons Lang's ObjectUtils.toString(Object,String)。-> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/…,java.lang.String
Guillaume

207
String strLong = Long.toString(longNumber);

简单并且可以正常工作:-)


对于Date上下文之外的常规类型转换,建议将其转换LongString
KomodoDave 2012年

3
在原始类型(长)上可以正常工作,但即使使用自动装箱,也可能会在对象类型(长)上抛出NPE。
Guillaume Husta 2014年

93

Long.toString()

以下应该工作:

long myLong = 1234567890123L;
String myString = Long.toString(myLong);

1
有什么区别String.valueOf(myLong)吗?
–membersound

2
@membersound他们是一样的。基本上String.valueOf(long)调用Long.toString()
Nero

3
@Nero我不会这样称呼,因为String.valueOf()在为null的情况下将返回“ null”,而Long.toString()将导致NullPointerException
Dhiresh Jain

21

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

long date = curDateFld.getDate(); 
String str = ""+date;

10

1。

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

//convert string to long
date = Long.valueOf(str);

2。

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

date = Long.valueOf(str);

3
String logStringVal= date+"";

可以将long转换为string对象,很酷的快捷方式,可以转换为string ...但是String.valueOf(date);建议使用


我以为String.valueOf是首选的方法,但我注意到只是打电话,Long.toString所以也许这是更简单的方法。
gMale 2014年

2
String longString = new String(""+long);

要么

String longString = new Long(datelong).toString();

在Stack Overflow上添加一个说明,说明解决方案为何有效的优良做法。有关更多信息,请阅读“ 如何回答”
法比安·舒尔茨

1
这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。- 来自评论
Krupal Shah

2
@KrupalShah仅提供代码的答案可能不是一个好答案,但仍然是一个答案。我会向您推荐有关LQPRQ的帖子:您做错了:低质量帖子队列中的理智请求
FelixSFD
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.