java中如何将char数组转化为String?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何将char数组转化为String?相关的知识,希望对你有一定的参考价值。

如将[a,b,c,d,e]转化为“abcde”

1.直接在构造String时建立。
char data[] = 's', 'g', 'k';
String str = new String(data);

2.String有方法可以直接转换。
String.valueOf(char[] chr)就可以。
如:
char[] cha = 's','g','h';
String n = String.valueOf(cha);
参考技术A class Test

public static void main(String[] args)
String s = null;
char[] c = 'a', 'b', 'c', 'd', 'e';
for(int i = 0; i < c.length; i++)
if(s == null)
s = Character.toString(c[i]);

else
s = s + c[i];

System.out.println(s);

参考技术B String(char[] value)
分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
参考技术C srcEnd - 字符串中要复制的最后一个字符之后的索引。
dst - 目标数组。
dstBegin - 目标数组中的起始偏移量。
public static String copyValueOf(char[] data)返回指定数组中表示该字符序列的 String。
参数:data - 字符数组。
参考技术D char data[] = 'a', 'b', 'c';
String str = new String(data);

如何将C++中string类型的字符串赋给unsigned char数组

如何将C++中string类型的字符串转化为unsigned char数组
如何将C++中string类型的字符串转化为wchat_t类型数组

如何将C++中string类型的字符串转化为unsigned char数组
std::string str("str");

由于string内部本身就是char的动态数组
另外char和unsigned char的存储空间完全一样 都是1byte

一般直接 &str[0]就可以了
如果要复制的话
unsigned char arr[size] = 0; //这个size 要大于 str.size();
memcpy(arr, &str[0], str.size());

如何将C++中string类型的字符串转化为wchat_t类型数组
字符编码不样的
可以用windows的MultibyteToWidechar
如果要跨平台的话建议直接用iconv处理
参考技术A

写了unsigned char的,另一个类型照抄

#include <string>
#include <iostream>

using namespace std;

int main()

string s="i like it";
unsigned char str[200];

int len=s.length();

for(int i=0;i<len;++i)
str[i]=s[i];
str[i]='\\0';

cout<<str<<endl;

追问

貌似有点问题,编译能过,运行就不行了

追答

内存越界了,你的char数组定义的够长么?

会不会超过那个12或者1024?

追问

我把num给变成1024也不行,我确定够长

追答

方法肯定没有问题,我的例子我也运行过。

你把numbers[12]已经修改为 numbers[1024]了?

你应该可以调试吧,看看num是什么字符串,length多长,i到哪里越界的?

追问

num没有问题了,问题就在这个宽字节wchar_t上

追答

想不出来! 调试吧,num没有问题证明方法是对的

string内部是char,这么转换类型给wchar_t,后续使用有没有问题?

你需要看看words是什么字符串,length多长,i到哪里越界的?

本回答被提问者采纳

以上是关于java中如何将char数组转化为String?的主要内容,如果未能解决你的问题,请参考以下文章

C++中如何将int或者char转化为string类

如何用将字符数组转化成字符串 java

java中怎样可以把String类型转化为Char类型的数组啊?

c++如何将vector<char>转化成string

java中怎么将由数字组成的字符串转化为数组?

java中怎么把字符串转化为字符串数组?