int[] ary ={65,66,67,68,97,97};
String str = new String(ary, 2, 3);
譬如这个就是从数组里面index为2的下标开始,拿3个元素出来,取其每个元素对应的char,然后组成一个新的字符串。
上面的例子就是拿67,68,97,他们对应的char为'C','D','a'
所以生成的字符串为CDa
明白了吧?
public String(int[] codePoints,
int offset,
int count)分配一个新的 String,它包含 Unicode 代码点数组参数一个子数组的字符。offset 参数是该子数组第一个代码点的索引,count 参数指定子数组的长度。将该子数组的内容转换为 char;后续对 int 数组的修改不会影响新创建的字符串。
参数:
codePoints - 作为 Unicode 代码点的源的数组。
offset - 初始偏移量。
count - 长度。
抛出:
IllegalArgumentException - 如果在 codePoints 中发现任何无效的 Unicode 代码点
IndexOutOfBoundsException - 如果 offset 和 count 参数索引字符超出 codePoints 数组的范围。
/**
* 分配一个新的 String,它包含 Unicode 代码点数组参数一个子数组的字符.
*
* @param codePoints
* @param offset
* @param count
*/
public String(int[] codePoints, int offset, int count) {
if (offset >>1.
if (offset > codePoints.length - count) {
throw new StringIndexOutOfBoundsException(offset count);
}
int expansion = 0;
int margin = 1;
char[] v = new char[count margin];
int x = offset;
int j = 0;
for (int i = 0; i int c = codePoints[x ];
if (c = v.length) {
if (expansion == 0) {
expansion = (((-margin 1) * count) >= 10;
if (expansion int newLen = Math.min(v.length expansion, count * 2);
margin = (newLen - v.length) - (count - i);
v = Arrays.copyOf(v, newLen);
}
String就是java里面预定义的一个类 你看String第一个字母就是大写的
像class People,class Student这些People,Student跟他都是一样的
只不过String可以直接拿来用(预定义的一个类)
java的api中午文档写的很清楚啊,网上那都能下载得到