如何将字符串数组转化为一个字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将字符串数组转化为一个字符串相关的知识,希望对你有一定的参考价值。
看你变成什么样的数组了,如果你从string再变成string[]没有多大意思的。纯属没事找麻烦,字符串再变成一个字符中的数组,有多大必要?肯定是没有必要的。如果你是想变成所谓char的话,在字符串方法中有一个ToCharArray的方法的,该方法就是将字符串直接变成char[],一般可以满足你的要求的。
但大多数时间我们在转变时可能需要转变成byte之类的数组,而且在涉及中文等一个些双字节字符时还有不同的选择,那就是利用Encoding类来实现的。
byte[] result = Encoding.UTF8.GetBytes(str);将字符串按UTF8进行转换。
当然如果不是UTF8的话可以按相应的编码进行转换的。
byte[] result = Encoding.Default.GetBytes(str);等等,可以选择不同的编码类型,当然转换出的byte[]与char[]其实区别不大的,两者都是数组,基类相同,只不过可以实现不再的方法而已。
如果你是在高版本的.netframework中,其实string是支持lambda表达式的,而在Lambda表达式可以通过ToArray<T>方法来进行转换的,同时只需要说明T是什么类似就可以了! 参考技术A 如果是 “字符串数组” 转 “字符串”
String[] str = "abc", "bcd", "def";
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++)
sb. append(str[i]);
String s = sb.toString();
如果是 “字符数组” 转 “字符串”
char[] data='a','b','c';
String s=new String(data);
在java中如何将全为数字的字符串转化为byte数组?
例如将String str=”99999“;转化为byte[]数组,byte[0]=9;byte[1]=9等等
谢谢
byte[0]=9;
byte[1]=9;
byte[2]=9;
不是转化为char什么的才是9
public static void main(String[] args)
String s="99999";
byte[] bytes=s.getBytes();
for(int i=bytes.length-1;i>=0;i--)
bytes[i]-=(byte)'0';
for(int i=0;i<bytes.length;i++)
System.out.print(bytes[i]);
System.out.println();
一楼二楼的字节数组中元素的值不是对应数位的值,是数位的ASCII码,根本不符合题意 参考技术A public class Du
public static void main(String[] args)
String str = "9999";
str = str.replaceAll("^\\d", "");
byte[] ary = new byte[str.length()];
for(int i = 0; i < str.length(); i++)
ary[i] = (byte)str.charAt(i);
System.out.println((char)ary[i]);
参考技术B public static void main(String[] args)
String str = "123123123";
byte[] b = str.getBytes();
参考技术C byte b[] = str.getBytes();
以上是关于如何将字符串数组转化为一个字符串的主要内容,如果未能解决你的问题,请参考以下文章