如何将字符串数组转化为一个字符串

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 class DigitsString
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();

以上是关于如何将字符串数组转化为一个字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何将Json数组字符串转化为Json的List

如何将数组转化为字符串,编程怎么实现呢

Java语言中,如何将String转化成Int数组

在java中如何将全为数字的字符串转化为byte数组?

如何把一个byte数组转化为字符串

matlab中如何将字符串转化为数组?