Java 我需要把一个字符串专为数组怎么办?

Python020

Java 我需要把一个字符串专为数组怎么办?,第1张

java 中要将一个字符串转换成一个字符数组需要使用 String 类中提供的 toCharArray() 方法进行操作.实例如下:

String str = "abcde"//这是一个string类型的字符串

char[] ch = str.toCharArray()//使用string类型的tocharArray()方法进行转换。

“字符串” 转 “字符数组”,有以下方法

1.通过字符串的toCharArray()方法

/*String.toCharArray 方法 ,作用:将字符串转换为字符数组。*/

String s=new String("abc")

char[] ch=s.toCharArray()

2.通过循环和字符串的charAt()方法

/*public char charAt(intindex)

*返回处于index位置上的字符,index的范围是[0,s.length()-1],字符串中的第一个字符位于index 0上,下一个字符位于index 1上,并以此类推,类似于数组下标索引。

*抛出异常:IndexOutOfBoundsException:当参数为负数或者参数不小于字符串的长度时抛出。

*/

String s=new String("abc")

char[] ch = new char[s.length()]

for(int i=0i<s.length()i++){

    ch[i]=s.charAt(i)

}

3.通过字符串的getChars方法

/*

 *public void getChars(int start,int end,char c[],int offset)

         该方法的作用是将当前字符串从start到end-1位置上的字符复制到字符数组c中,并从c的offset处开始存放

*/ 

String s=new String("abc")

char[] ch = new char[s.length()]

s.getChars(0, s.length(), ch, 0)

java里java字符串数组合并成一个数组方法如下:

//方法一 Arrays类

String[] a = {"A","B","C"}

String[] b = {"D","E"}

// List<String>list = Arrays.asList(a)  --OK

// List<String>list = Arrays.asList("A","B","C")--OK

// list.add("F")--UnsupportedOperationException

// list.remove("A")--UnsupportedOperationException

// list.set(1,"javaee")--OK (因为是把数组转为集合,其本质还是数组,数组长度固定不变,但内容可以改变)

// 结论:虽然可以把数组转为集合,但是集合长度不能改变

List list = new ArrayList(Arrays.asList(a))

list.addAll(Arrays.asList(b))

String[] str = new String[list.size()]

list.toArray(str)

for(int x=0x<str.lengthx++){

System.out.print(str[x] + " ")

}

//方法二 循环遍历

// 两个数组合并

String[] str1 = {"Hello","world","java"}

String[] str2 = {"Veriable","syntax","interator"}

String[] newStr = new String[str1.length+str2.length]

//newStr = str1数组是引用类型

for(int x=0x<str1.lengthx++){

newStr[x] = str1[x]

}

for(int y=0y<str2.lengthy++){

newStr[str1.length+y]=str2[y]

}

for(int y=0y<newStr.lengthy++){

System.out.println(newStr[y] + " ")

  }

// 方法三

String[] str1 = {"Hello","world","java"}

String[] str2 = {"Veriable","syntax","interator"}

int str1Length = str1.length

int str2length = str2.length

str1 = Arrays.copyOf(str1, str1Length+str2length)//数组扩容

System.arraycopy(str2, 0, str1, str1Length, str2length)

System.out.println(Arrays.toString(str1))