どのように変換/ロングを文字列にキャストしますか?


290

日付を選択できるサンプル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");か?

回答:


393

Stringクラスのリファレンスドキュメントをご覧ください。String s = String.valueOf(date);

Longがnullで、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

4
@MarceloAssis ..連結は約2倍遅くなります。アプリケーションでパフォーマンスが重要な場合。
Hari Menon

ニース、しかしノートjava.util.ObjectsのJava 7以降でのみ使用可能です
ギヨームHusta

1
Java 7以前ObjectUtils.toString(Object,String)は、同等のCommons Langを使用することもできました。-> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/…、java.lang.String
Guillaume

207
String strLong = Long.toString(longNumber);

シンプルでうまく動作します:-)


Dateコンテキスト外の一般的な型変換では、これをに変換するLongことをお勧めしStringます。
KomodoDave 2012

3
プリミティブタイプ(ロング)で正常に動作しますが、オートボクシングを使用しても、オブジェクトタイプ(ロング)でNPEをスローする場合があります。
Guillaume Husta 2014

93

Long.toString()

以下はうまくいくはずです:

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

1
に違いはありますString.valueOf(myLong)か?
メンバーズサウンド2017

2
@membersound彼らは同じです。基本的にString.valueOf(long)はLong.toString()を呼び出します
Nero

3
@Nero私はString.valueOf()がnullの場合に「null」を返すため、同じように呼び出しません。一方、Long.toString()はNullPointerExceptionを引き起こす
Dhiresh Jain

21

非常に単純です。長い文字列を連結するだけです。

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.valueOf(date);ことをお勧めします


String.valueOfは推奨されるアプローチだと思いましたが、呼び出しだけなLong.toStringので、おそらくそれがより簡単な方法であることに気づきました。
gMale 2014年

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

または

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

Stack Overflowでは、ソリューションが機能する理由を説明することをお勧めします。詳細については、回答方法をご覧ください。
Fabian Schultz 2017年

1
これは質問に対する答えを提供しません。批評したり、著者に説明を求めるには、投稿の下にコメントを残してください。- 口コミより
Krupalシャー

2
@KrupalShahコードのみの答えは良いものではないかもしれませんが、それでも答えです。LQPRQに関するこの投稿をお勧めします:間違っています:低品質の投稿キューに正気を
求める
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.