我正在使用 NetBeans 并nbandroid
构建我的 Android 应用程序。以前我的目标是 API 级别 10 (2.3.3),但我意识到这样做会从我的应用程序中排除太多人,并且(我认为)我的应用程序没有使用任何超过 API 级别 7 的功能。但是,在在 NetBeans 的项目属性中更改我的 API 级别,我的项目将无法编译并且编译myString.isEmpty()
条件失败。我知道这很容易修复/替换,但是String.isEmpty
直到 API 级别 10 才真正可用?如果没有,我该如何修复我的nbandroid
项目?我注意到,即使我在项目属性中选择了 API 级别,在库下它总是显示 Android 2.3.3。
问问题
2221 次
5 回答
4
检查字符串是否为空(没有isEmpty
方法)的更有效方法是检查其长度是否为 0 与 using equals
,如:
if ( myString.length() == 0 )
{
// is emtpy
}
实际上,这isEmpty
就是幕后所做的。
于 2012-05-15T19:15:17.540 回答
3
isEmpty 是在 API 9 中添加的。(参考)
如果您愿意,您仍然可以将您的应用程序转换为 API 7,您需要使用String.length() != 0
而不是isEmpty();
于 2012-05-15T18:36:00.243 回答
2
它可能仍然说您使用 2.3.3 库,因为您已targetSdk
设置为 2.3.3。
如果 Min SDK 超过2.2 (8),您将失去27.1%的观众
如果 Min SDK 超过2.1 (7),您将损失6.2%
如果 Min SDK 超过1.6 (6),您将损失0.7%
因此,如果您不想超过2.3 (9) ,这取决于您。
(我个人建议将您的 minSdk 设置为 2.2 (8) 并针对 3.0 (11))
至于 String.isEmpty()
if("".equals(String)){
// is Empty
}
或者
if(!"".equals(String) && String != null){
// is Not Empty
}
对于完整的 isEmpty 实现,您需要记住您的字符串可能为空或充满空格(从技术上讲是空的):
if(String != null && "".equals(String.trim())){
// is Empty
}
检查 null 允许您在trim()
没有 NullPointerException 的情况下调用该方法
参考:
于 2012-05-15T18:38:29.717 回答
2
这是文档。它可从 API 9 及更高版本获得。正如你所说,它很容易被替换。
于 2012-05-15T18:35:58.263 回答
1
它就在那里,从九级开始。
于 2012-05-15T18:35:48.760 回答