黑马程序员技术交流社区

标题: JAVA中字符数组转换为字符串的方法 [打印本页]

作者: 少年闰土    时间: 2015-6-4 22:36
标题: JAVA中字符数组转换为字符串的方法
今天在学习IO的时候遇到了将字符数组转换成字符串的问题,视频中毕老师是用下面方法:
  1. while ((num = fr.read(cbuf)) != -1) { //从文件中读取的内容会存储到数组中
  2.                                 System.out.print(new String(cbuf, 0, num));
  3.                         }
复制代码
这是使用了String类的构造函数将数组中偏移量为0,长度为num的所有字符转换成字符串。
网上找了一下大家都用的这个方法,想问一下大家有没有别的类或者什么方法?



作者: 武汉小菜鸟    时间: 2015-6-4 23:03
String.copyValueOf(char[] data, int offset, int count)
作者: lizhi    时间: 2015-6-4 23:18
少年闰土 发表于 2015-6-4 22:36
今天在学习IO的时候遇到了将字符数组转换成字符串的问题,视频中毕老师是用下面方法:这是使用了String类的 ...

可以用 StringBuffer
作者: 灞波儿奔    时间: 2015-6-4 23:21
看醉了。
作者: java8023    时间: 2015-6-5 00:48
用StringBuffer可以,但是不如你说的简单
作者: 少年闰土    时间: 2015-6-5 09:20
灞波儿奔 发表于 2015-6-4 23:21
看醉了。

刚入门,让你见笑了
作者: 少年闰土    时间: 2015-6-5 09:27
武汉小菜鸟 发表于 2015-6-4 23:03
String.copyValueOf(char[] data, int offset, int count)

恩 刚才具体查了一下,确实这个方法可以,看来还是练的太少,都没记住
作者: 嘎路的米    时间: 2015-6-5 09:34
个人认为,用new String(char[] value, int offset, int count);比较好一点
因为它不仅有接收char[]的构造方法,还有接收byte[]的构造方法,
如果使用的是String.valueOf();,那么只有接收char[]的方法,
所以建议使用new String(),毕竟功能比String.valueOf多
作者: 少年闰土    时间: 2015-6-5 09:58
java8023 发表于 2015-6-5 00:48
用StringBuffer可以,但是不如你说的简单

char[] cbuf = new char[4];       

StringBuffer strBuf = new StringBuffer();
strBuf.append(cbuf, offset, len);
               
strBuf.toString();


确实看了一下可以就是麻烦一点:lol,谢谢了
作者: 少年闰土    时间: 2015-6-5 10:04
嘎路的米 发表于 2015-6-5 09:34
个人认为,用new String(char[] value, int offset, int count);比较好一点
因为它不仅有接收char[]的构造 ...

恩 目前是这么个道理,具体还有什么细微的差别或者别的方法,还得学习,向大神请教啊
作者: iamnoten    时间: 2015-6-5 10:11
没有方法直接read string吗?
作者: 武汉小菜鸟    时间: 2015-6-5 10:49
少年闰土 发表于 2015-6-5 09:27
恩 刚才具体查了一下,确实这个方法可以,看来还是练的太少,都没记住

恩恩,加油加油
作者: 少年闰土    时间: 2015-6-5 12:05
iamnoten 发表于 2015-6-5 10:11
没有方法直接read string吗?

BufferedReader中readLine方法到是可以
作者: 途中ms前进    时间: 2015-6-5 14:04
加油加油:victory:




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2