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

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

以上是关于如何将长转换/转换为字符串?的主要内容,如果未能解决你的问题,请参考以下文章

将长二进制字符串转换为十六进制c#

将长整数转换为字符/符文

java 转换字符串日期java以分钟为单位的日期长差异将长转换为int

将长的 Unix 纪元时间戳转换为实际日期/时间

将长十六进制字符串转换为十进制字符串

C ++将长十六进制字符串转换为二进制