将特定长度的char数组转换为字符串

时间:2013-10-18 04:53:58

标签: java

我需要将char数组转换为字符串,这样做的问题是......我需要将特定长度的char数组中的字符转换为k到string。即,char数组是“b”.b动态获取值.....例如取“p,a,p,e,r,s”现在k值也是动态的,对于这个单词“k = 5”,然后char数组“b”中只有4个字符应转换为字符串...即字符串应打印为“paper”........ 我现在拥有的代码是

 for(int c=0;c<=k;c++)
 {
      System.out.print(b[c]);
 }
 str=new String(b);
 System.out.println(str); 

其中b[c]将正确的值(在char数组中)打印为“paper”。在转换为字符串str时(在程序中),它打印为“论文”本身......任何人都可以给我解决方案吗?

2 个答案:

答案 0 :(得分:7)

您可以使用String的其他构造函数来指定数组以及要使用的起点和字符数。

在你的情况下,你会尝试:

str = new String( b, 0, k );

答案 1 :(得分:1)

char newArr[] = new char[k];
for (int i = 0; i < k; i++) {
    newArr[i] = b[i];
    System.out.print(b[i]); // print until the kth index
}

return new String(newArr);