「java字符串数组」java字符串数组怎么赋值
本篇文章给大家谈谈java字符串数组,以及java字符串数组怎么赋值对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
JAVA中怎么把字符串转换成字符数组
“字符串” 转 “字符数组”,有以下方法
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=0;is.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字符串数组合并成一个数组?
java里java字符串数组合并成一个数组方法如下:
//方法一 Arrays类
String[] a = {"A","B","C"};
String[] b = {"D","E"};
// ListString list = Arrays.asList(a); --OK
// ListString 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=0;xstr.length;x++){
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=0;xstr1.length;x++){
newStr[x] = str1[x];
}
for(int y=0;ystr2.length;y++){
newStr[str1.length+y]=str2[y];
}
for(int y=0;ynewStr.length;y++){
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));
java中怎么把字符串转化为字符串数组?
1,
如果是“字符串数组”转“字符串”,只能通过循环,没有其它方法
String[]str={"abc","bcd","def"};
StringBuffersb=newStringBuffer();
for(inti=0;istr.length;i++){
sb.append(str[i]);
}
Strings=sb.toString();
2,
如果是“字符数组”转“字符串”可以通过下边的方法
char[] data={'a','b','c'};
String s=new String(data);
3,
使用StringUtils中的join函数。org.apache.commons.lang.StringUtils;
4,
将数组变成字符串
5,
StringUtils.join(str)
//将数组用逗号分隔变成字符串
StringUtils.join(str,",")
将字符串变成数组方法:
java.lang包中有String.split()方法,java中通常用split()分割字符串,返回的是一个数组。
特殊,转义字符,必须加"\\"(“.”和“|”都是转义字符)
1,在Java语言编程时,使用“口令字段“jPasswordField组件时,如果要获得密码值,就需要使用该组件的getPassword()方法,
2,jPasswordField的getPassword()方法返回一个char类型的数组,我们经常需要将这个数组转换为String类型,以便进行诸如口令匹配或口令赋值等操作。
3,这时,就需要将char类型的数组进行转换。当然也经常会遇到将String类型转换为char数组的情况。
java字符串录入数组后显示null?
原因在于你最后for循环输出中ilength里的length取值有问题。你这段程序中,length取的是文件的大小,long length = file.length()返回的是当前文件的所有字符的数量。假如你的文件里的内容是:
第一行:a
第二行:bc
那么此时file.length()是多少呢?其实它是'a'、'\n'、'b'、'c'、'\n'五个字符组成,所以此时length=5,然而你读取文件的时候,你用的是readline(),所以会读到两行数据,而你的预期结果也应该是arr数组中有两个字符串。
所有数据读取完后,又由于你arr数组的长度取的是leagth也就是5,此时arr数组的arr[0]="a",arr[1]="bc",arr[2]=null,arr[3]=null,arr[4]=null。所以你最后循环输出arr数组时,后面几个值就是null。
综上,该问题的根本原因在于arr数组长度的定义有误。因为你提前并不能知道文件有多少行,所以你无法确认arr数组到底该设置多少,你就想用file.length()来定义,但file.length()往往是远大于文件行数的。
解决这个问题,可以利用java里的集合List,List在定义的时候不需要声明其长度,最大长度应该是Integer的最大值,使用List的子类ArrayList可以确保顺序无误,将代码修改为:
public static void main(String[] args) throws IOException {
File file = new File("D:/1.txt");
ListString arr = new ArrayListString();
int i = 0;
if (file.exists()) {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String temp;
while ((temp = br.readLine()) != null) {
arr.add(temp);
System.out.println(arr.get(i));
i++;
}
br.close();
fr.close();
for (i = 0; i arr.size(); i++) {
System.out.println(arr.get(i));
}
}
}
运行结果:
文件内容:
输出:
java字符串数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java字符串数组怎么赋值、java字符串数组的信息别忘了在本站进行查找喔。