在我的 Android 应用程序中,我无法使用位于 JDK 1.6 中的 String.isEmpty() 函数。 Android 2.1 lib 中的 java.lang.String 类没有此函数。
我尝试将 JRE 系统库输入到我的项目中,因为它具有此功能,但没有效果。
如何解决这个问题并允许我的应用使用此函数?
我尝试将 JRE 系统库输入到我的项目中,因为它具有此功能,但没有效果。
如何解决这个问题并允许我的应用使用此函数?
你可以使用 android.text.TextUtils.isEmpty() 方法代替。该方法也会检查字符串是否为空并且自 API level 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平台有意使您很难玩弄核心类库的行为。首先,您只能通过修改Davlik启动的bootclasspath或rt.jar
文件来实现,而这两者都无法在正在运行的JVM内完成。
这种玩弄的风险可能会破坏其他应用程序的Java。即使考虑到您不能直接威胁Android应用程序分离(因为下面提到的进程/ uid分离),恶意调整(共享的)Java核心类仍然可能允许一个应用程序干扰或窃取信息来自另一个应用程序。
String
副本,则对其他应用程序没有影响。 - poolie这个方法在API9中出现,因此您不能在Android2.3之前使用它。
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);
,对吧? - PiovezanisEmpty();
方法可用。您可以使用length()
方法来模拟isEmpty()
的效果。"".equals(yourString); 也可以像 String.isEmpty() 一样产生相同的行为。
yourString
的null
值是有意义的...并且是预期的,那么"".equals(yourString)
方法才是一个好的解决方案。 - Stephen C你需要将 Android API 升级到 9 级,或者使用 String.trim().length()==0
或 String.equals("")
替代,这样可以适用于你的 Android API 级别和 JDK 版本。
" "
不是空的!为什么你建议修剪字符串? - ruX" ".trim()
会变成空字符串,那就别乱评分!!!如果你不理解我的描述,请不要给差评!!! - Engine BaiString.trim().length()==0
和String.equals("")
在String = " "
时返回不同的结果。第二个代码段是正确的。 - ruX