Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 新的运算符和字符串在此程序中做什么?_Java_String_Char - Fatal编程技术网

Java 新的运算符和字符串在此程序中做什么?

Java 新的运算符和字符串在此程序中做什么?,java,string,char,Java,String,Char,我是Java初学者,正在阅读Oracle教程中有关数组的内容 我的问题涉及以下代码: class ArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[

我是Java初学者,正在阅读Oracle教程中有关数组的内容

我的问题涉及以下代码:

class ArrayCopyDemo {
    public static void main(String[] args) {
        char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',
            'i', 'n', 'a', 't', 'e', 'd' };
        char[] copyTo = new char[7];

        System.arraycopy(copyFrom, 2, copyTo, 0, 7);
        System.out.println(new String(copyTo));
    }
}
具体来说,

 System.out.println(new String(copyTo));
newstring(copyTo)到底做什么,或者更确切地说,为什么要使用new和String?他们在一起干什么?(我知道他们打印的是“caffein”,但只是一般意义上的。

这是你的朋友:

公共字符串(char[]值)

分配一个新字符串,以便 表示当前包含在中的字符序列 字符数组参数。字符数组的内容为 已复制;对字符数组的后续修改不会影响 新创建的字符串

参数:

值-该值的初始值 串

新字符串(copyTo)到底做什么

它创建了一个新的字符串对象。String类有一个接受字符数组的构造函数,该构造函数将字符数组转换为字符串文本

分配一个新字符串,使其表示 字符数组参数中当前包含的字符 复制字符数组的内容;随后修改 字符数组不影响新创建的字符串


它创建了一个新的
String
对象,其中包含作为参数传递的
char
数组定义的文本。它只是
String
类中定义的另一个构造函数,请看一下:

public String(char value[]) {
    this.offset = 0;
    this.count = value.length;
    this.value = StringValue.from(value); //returns a copy of the char array
                                          //by using Array.copyOf
}

除了查看字符串外,深入研究
字符串的代码可以帮助您理解它是如何工作的。
这个.value
是用于分配符合
字符串的
字符的内部数组
函数
println
只接受类型
字符串
。您拥有的是
char
阵列

new
关键字表示
String
是类
String
的构造函数(如在构造新的
String
对象时)

在Android开发者网站中,您有一个所有可能的构造函数的列表:

具体而言,您正在使用的是:

字符串(字符[]数据)

这是一个构造函数调用,就像任何其他构造函数调用一样。你一般理解构造函数吗?
String
只是一个类的名称。不,我想我还没有看到任何解释构造函数的东西。你可能应该找些面向对象编程的教程。@Chase:好的,可能值得一试关于Java的书,或者阅读教程中的构造函数。我希望更多的人能够链接到文档!我不知道这个存在!谢谢!