在我的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系统库输入到我的项目中,因为它具有此功能,但是没有效果。
如何解决此问题并允许我的应用程序使用此功能?
Answers:
如何解决此问题并允许我的应用程序使用此功能?
你不能
使用String.length() == 0代替。它一直向下兼容JDK 1.0 ...以及J2ME。
String.equals("") 是另一种选择。
您确定没有办法配置Eclipse以将其从确定的库中放入代码类吗?
如果您希望您的应用程序在真实的Android设备上运行,则不会。Java / Android平台有意使您难以修改核心类库的行为。首先,您只能通过修改等效于bootclasspath或rt.jar文件的Davlik来完成此操作,而在运行中的JVM中都无法完成这些操作。
那种修修补补的有风险的潜在破坏Java的其他应用程序。即使假设您不能直接破坏Android应用程序的分离(由于下面提到的进程/ uid分离),对(共享的)Java核心类的恶意调整仍可能会允许一个应用程序干扰或窃取另一应用程序的信息。
String,则对其他应用程序无效。
您可以改用android.text.TextUtils.isEmpty()。此方法还将检查String是否为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有意义且预期时,该方法才是一个好的解决方案。