通过一个空指针>字符串转换中途 - 终止一个char [](Terminate a char[

2019-09-17 21:07发布

我试图复制这个在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中? 或者,也许我对事物的认识是错误的?

Answer 1:

不像C,Java不使用NULL结尾的字符串。 要获得的行为,你的代码必须找到的第一个位置\0的字符数组中,并构建字符串时,停在那里。



文章来源: Terminate a char[] -> String conversion midway via a null pointer
标签: java string null