Java 新的运算符和字符串在此程序中做什么?
我是Java初学者,正在阅读Oracle教程中有关数组的内容 我的问题涉及以下代码: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[
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的书,或者阅读教程中的构造函数。我希望更多的人能够链接到文档!我不知道这个存在!谢谢!