私のAndroidアプリケーションでは、JDK 1.6にあるString.isEmpty()関数を使用できません。Android 2.1 libには、java.lang.Stringクラスにこの関数がありません
この機能があるので、JREシステムライブラリをプロジェクトに入力しようとしましたが、効果はありませんでした。
この問題を解決し、アプリケーションでこの機能を使用できるようにするにはどうすればよいですか?
私のAndroidアプリケーションでは、JDK 1.6にあるString.isEmpty()関数を使用できません。Android 2.1 libには、java.lang.Stringクラスにこの関数がありません
この機能があるので、JREシステムライブラリをプロジェクトに入力しようとしましたが、効果はありませんでした。
この問題を解決し、アプリケーションでこの機能を使用できるようにするにはどうすればよいですか?
回答:
この問題を解決し、アプリケーションでこの機能を使用できるようにするにはどうすればよいですか?
できません。
String.length() == 0代わりに使用してください。JDK1.0までの下位互換性があります...そしてJ2MEとも互換性があります。
String.equals("") 別の選択肢です。
明確なライブラリからコードクラスに入れるようにEclipseを構成する方法がないと確信していますか?
アプリを実際のAndroidデバイスで実行したい場合は違います。Java / Androidプラットフォームは、コアクラスライブラリの動作を意図的にいじくり回すことを困難にします。まず、bootclasspathまたはrt.jarファイルに相当するDavlikを変更することによってのみそれを行うことができ、実行中のJVM内ではこれらのいずれも行うことができません。
この種のいじくり回しは、他のアプリのJavaを壊す可能性があるリスクがあります。Androidアプリの分離を直接侵害できないと仮定しても(以下で説明するプロセス/ uidの分離のため)、(共有)Javaコアクラスへの悪意のある調整により、あるアプリが別のアプリに干渉したり、別のアプリから情報を盗んだりする可能性があります。
Stringしても、他のアプリには影響しません。
代わりにandroid.text.TextUtils.isEmpty()を使用できます。このメソッドは、文字列がnullであり、APIレベル1以降で使用可能であるかどうかも確認します。
if (TextUtils.isEmpty(str)) {
Log.d(TAG, "String is empty or null!");
}
これを使用できますTextUtils.isEmpty(str)。これは、APIレベル1以降で使用できます。または、以下のように独自のメソッドを作成できます。
public boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
return (str == null || str.length() == 0);ね?
"" .equals(yourString); また、String.isEmpty()と同じ動作をします。
nullがどこから来ているのかを把握し、その問題を修正することです。この"".equals(yourString)アプローチは、のnull値yourStringが意味のあるものであり、期待される場合にのみ適切なソリューションです。
android APIをレベル9にアップグレードするString.trim().length()==0かString.equals("")、を使用する必要があります。代わりに、androidAPIレベルとJDKバージョンで機能するはずです。
" "は空ではありません!なぜ弦をトリミングすることを提案するのですか?
" ".trim()は空になります!!! あなたもそれを知っていますか?あなたがあればダウン率はいけないしないでください、私の説明を理解します!
String.trim().length()==0とすると、String.equals("")異なる結果が返されString = " "ます。2番目のスニペットは正しい