public static void main(String[] args){
String[] str={"a","b","c","d","e","f","g","h","i"}//定义字符串数组
method(str)
}
private static void method(String[] s){
if(s==null)
return
StringBuffer sBuffer=new StringBuffer()
for(int i=0i<s.lengthi++){//将数组拼接成字符串
sBuffer.append(s[i])
}
System.out.println("字符串长度:"+sBuffer.length())
System.out.println("拼接的字符串:"+sBuffer.toString())
}
}
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))
String[]str={"wish","education","welcome","you"}
StringBuffer
buf=new
StringBuffer()
for(String
s
:
str)
buf.append(s)
System.out.println("连接成句:"+buf.toString())
append有红线是因为append()里传的参数是一个String的值,而你放在里面的是一个String类型的数组。
你应该先把数组里的值循环append到一个StringBuffer的buf对象里面然后在打印就可以了。