java - 将 boolean 对象数组转换为 boolean 原始数组?

标签 java android arrays object boolean

<分区>

我有一个 Boolean 类型的 ArrayList,在我尝试使用时需要将其作为 boolean[] 进行操作:

AlertDialog builder;
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { ... });

然而,虽然我可以创建一个 boolean 对象数组,但我找不到一种有效的方法将这个对象数组转换为构建器函数调用的原始数组(我能想出的唯一方法是遍历对象数组并构建一个新的原始数组)。

我正在从 ArrayList 中检索我的对象数组,如下所示:

final Boolean[] checkedItems = getBoolList().toArray(new Boolean[getBoolList().size()]);

我可以用我的 ArrayList 做些什么吗?还是我缺少明显的转换/转换方法??

感谢任何帮助!

最佳答案

你没有遗漏任何东西,恐怕唯一的方法就是遍历列表

一个(未经测试的)示例:

private boolean[] toPrimitiveArray(final List<Boolean> booleanList) {
    final boolean[] primitives = new boolean[booleanList.size()];
    int index = 0;
    for (Boolean object : booleanList) {
        primitives[index++] = object;
    }
    return primitives;
}

编辑(根据 Stephen C 的评论): 或者您可以使用第三方实用程序,例如 Apache Commons ArrayUtils:

http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/ArrayUtils.html

关于java - 将 boolean 对象数组转换为 boolean 原始数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615664/

相关文章:

android - Android-x86 中没有音频

java - Android 应用程序停止工作

java - 如何为调用其他方法的方法编写单元测试?

Android Studio 总是显示 "Gradle project sync in progress"

java - 如何以编程方式将 TextView 添加到布局?

javascript - 函数内 .push 后全局数组未更新

在c中将浮点csv转换为二维数组

javascript - 在node js中从本地Json文件中获取值和键

java - SQL异常:can not create table

java - Java中的setSavepoint方法