如何将长转换/转换为字符串?
Posted
技术标签:
【中文标题】如何将长转换/转换为字符串?【英文标题】:How to convert / cast long to String? 【发布时间】:2010-12-23 17:15:20 【问题描述】:我刚刚创建了示例 BB 应用程序,它可以允许选择日期。
DateField curDateFld = new DateField("Choose Date: ",
System.currentTimeMillis(), DateField.DATE | DateField.FIELD_LEFT);
选择日期后,我需要将该长值转换为字符串,以便我可以轻松地将日期值存储在数据库中的某个位置。 我是 Java 和 Blackberry 开发的新手。
long date = curDateFld.getDate();
我应该如何将这个长值转换为字符串?我也想从String转换回long。我认为我可以使用long l = Long.parseLong("myStr");
?
【问题讨论】:
【参考方案1】:见reference documentation for the String class: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)
。
这种方式有什么区别,或者像这样连接:("" + longAttr)?
@MarceloAssis.. concat 大约慢了 2 倍。如果性能对您的应用程序很重要。
很好,但请注意 java.util.Objects
仅在 Java 7 之后可用。
在 Java 7 之前,您还可以使用 Commons Lang 的 ObjectUtils.toString(Object,String)
,这是等效的。 -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/…, java.lang.String)【参考方案2】:
String strLong = Long.toString(longNumber);
简单且工作正常:-)
【讨论】:
对于Date
上下文之外的一般类型转换,建议将Long
转换为String
。
适用于原始类型(长),但可能会抛出对象类型(长)的 NPE,即使使用自动装箱。【参考方案3】:
Long.toString()
以下应该有效:
long myLong = 1234567890123L;
String myString = Long.toString(myLong);
【讨论】:
和String.valueOf(myLong)
有区别吗?
@membersound 他们是一样的。基本上 String.valueOf(long) 调用 Long.toString()
@Nero 我不会这么叫,因为 String.valueOf() 在 null 的情况下会返回“null”,而 Long.toString() 会导致 NullPointerException【参考方案4】:
很简单, 只需将 long 连接到一个字符串。
long date = curDateFld.getDate();
String str = ""+date;
【讨论】:
【参考方案5】: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);
【讨论】:
【参考方案6】:String logStringVal= date+"";
可以将long转换为字符串对象,转换为字符串的快捷方式......但建议使用String.valueOf(date);
【讨论】:
我认为String.valueOf
是首选方法,但我注意到只调用Long.toString
所以也许这是更简单的方法。【参考方案7】:
这样做:
String strLong = Long.toString(longNumber);
【讨论】:
【参考方案8】:String longString = new String(""+long);
或
String longString = new Long(datelong).toString();
【讨论】:
在 Stack Overflow 上添加解释为什么您的解决方案应该有效是一种很好的做法。更多信息请阅读How To Answer。 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review @KrupalShah 仅代码的答案可能不是一个好的答案,但它仍然是一个答案。我会向你推荐这篇关于 LQPRQ 的帖子:You're doing it wrong: A plea for sanity in the Low Quality Posts queue以上是关于如何将长转换/转换为字符串?的主要内容,如果未能解决你的问题,请参考以下文章