gpt4 book ai didi

java - 通过空指针中途终止 char[] -> String 转换

转载 作者:搜寻专家 更新时间:2023-10-31 19:57:12 33 4
gpt4 key购买 nike

我正在尝试复制 this在 java 。为了避免点击,它说字符数组 ['F', 'R', 'A', 'N', 'K', NULL, 'k', 'e', 'f', 'w'] 转换为空终止字符串时,将在 'K' 之后停止,因为它在那里遇到空指针。但是,我的 Java 尝试似乎没有奏效。

public class TerminatingStrings{
public static void main(String[] args){
char[] broken = new char[3];
broken[0] = 'a';
broken[1] = '\u0000';
broken[2] = 'c';
String s = new String(broken);
System.out.println(s);
}
}

仍然打印ac。除此之外,我还尝试了 (1) 不初始化 broken[1] 和 (2) 显式将其设置为 null,尝试甚至没有编译。

这在 Java 中完全可行吗?还是我对事物的理解有误?

最佳答案

与 C 不同,Java 不使用以 NUL 结尾的字符串。要获得此行为,您的代码必须在 char 数组中找到第一个 \0 的位置,并在构造字符串时停在那里。

关于java - 通过空指针中途终止 char[] -> String 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935430/

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