Java如何摆脱'\ 0'字符要求来查找字符串结尾?

时间:2017-09-25 13:16:57

标签: java string

如下所示的示例代码

public class myClass{
    String s = "Hello";  
    public static void printS(){
        System.out.println(s);
    }
}

字符串"Hello"存储在string pool中。当我调用printS()时。 java如何知道字符串o之后字符串已经结束? C / C ++使用\0执行此操作,但是在java中没有存储特殊字符来指示字符串的终止。 java存储字符串的长度吗?这似乎不太可能,因为那样使str.length()成为一个函数是有意义的。它可以是array.length

之类的变量

编辑:我不想知道字符串池在Java中是如何工作的。问题是关于java如何知道字符串的结尾。

1 个答案:

答案 0 :(得分:3)

Java存储字符串的长度。因此,它不需要像\0这样的终止字符。

Java的str.length()方法实际上只是访问字符串中数组的length字段。在Java中,通常认为将值公开为方法,而不是直接允许访问变量。