簡體   English   中英

無法在android中調用String.isEmpty()

[英]can't call String.isEmpty() in android

在我的Android應用程序中,我不能使用位於JDK 1.6中的String.isEmpty()函數。 Android 2.1 lib在java.lang.String類中沒有此函數

我試圖將JRE系統庫輸入到我的項目中,因為它具有此功能,但沒有任何效果。

如何解決此問題並允許我的應用程序使用此功能?

您可以使用android.text.TextUtils.isEmpty()代替。 此方法還檢查String是否為空並且自API級別1起可用。

if (TextUtils.isEmpty(str)) {
    Log.d(TAG, "String is empty or null!");
}

如何解決此問題並允許我的應用程序使用此功能?

你不能。

請改用String.length() == 0 它向后兼容到JDK 1.0 ......以及J2ME。

String.equals("")是另一種選擇。


您確定沒有辦法將Eclipse配置為從明確的庫中放入代碼類嗎?

如果您希望自己的應用在真正的 Android設備上運行,那就不是了。 Java / Android平台故意讓您難以修改核心類庫的行為。 首先,您只能通過修改bootclasspath或rt.jar文件的Davlik等效項來實現,並且這些都不能在正在運行的JVM中完成。

那種修修補補的有可能破壞Java的其他應用程序的風險 即使假設您不能直接損害Android應用程序分離(因為下面提到的進程/ uid分離),對(共享)Java核心類的惡意調整仍可能允許一個應用程序干擾或竊取來自另一個應用程序的信息。

這個方法出現在API9中,所以你無法在Android2.3之前使用它

您可以使用此TextUtils.isEmpty(str) 這是從API級別1開始可用的,或者您可以創建自己的方法,如下所示

public boolean isEmpty(CharSequence str) {
    if (str == null || str.length() == 0)
        return true;
    else
        return false;
}

據我所知android支持java 5,所以沒有isEmpty(); 你可以使用length()來模擬isEmpty()

“” .equals(yourString); 也給出了像String.isEmpty();

你必須將android API升級到9級,或者使用String.trim().length()==0String.equals("") ,它應該適用於你的android API級別和你的JDK版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM