gpt4 book ai didi

java - 如何检查字符数组的元素是否为空?

转载 作者:行者123 更新时间:2023-12-01 18:22:48 24 4
gpt4 key购买 nike

我需要检查 java 字符数组的元素是否为空。我尝试了以下代码但没有成功。怎么了?

char c[] = new char[3];
c[0] = 'd';

for (int i = 0; i < c.length; i++) {
if(c[i] == null) {
System.out.println(i + " is empty");
}
}

最佳答案

让我们把数组从等式中剔除——数组实际上只是变量的集合。让我们考虑一个变量。假设我们有一个这样的方法:

public boolean isEmpty(char c)

那会做什么? c的值不能是null ,因为char是一个原始类型。它可能是 U+0000(又名 '\u0000''\0' 作为 Java 中的字 rune 字),这是 char 的默认值。 (对于数组元素和字段)但它与空引用不同。

如果你想要一个类似于 char 的类型但它是一个引用类型,您应该考虑使用 Character - char 的包装类型就像 Integer用于int 。或者,如果您知道您永远不会使用 U+0000 作为有效值,您可以坚持使用。

但是,更好的选择通常是设计代码,这样您就不需要“空或非空”的概念。我们不知道您想在这里实现什么目标,但至少考虑一下通常是一件好事。对于数组,替代方案通常是使用 ArrayList<E> - 但当然你不能有 ArrayList<char>在 Java 中,因为 Java 泛型不允许原始类型参数:(

关于java - 如何检查字符数组的元素是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com