黑马程序员技术交流社区
标题:
length的一个问题
[打印本页]
作者:
love~陌
时间:
2014-3-21 18:58
标题:
length的一个问题
<div class="blockcode"><blockquote>import java.io.*;
public class CharCode
{
public static void main(String[] args) throws Exception
{
String strChina="中国";
for (int i=0;i<strChina.length();i++ )//这里strChina.length()为strChina的长度
{
System.out.println(Integer.toHexString((int)strChina.charAt(i)));
}
byte [] buf=strChina.getBytes("gb2312");
for (int i=0;i<buf.length;i++ )//为什么这里是buf.length呢?
{
System.out.println(Integer.toHexString(buf[i]));
}
for (int i=0;i<buf.length;i++ )//为什么这里是buf.length呢?
{
System.out.write(buf[i]);
}
}
}
复制代码
问题在代码中
作者:
linweiwen
时间:
2014-3-21 19:31
楼主,建议你去查一下API文档,
看一下String类的API,
1111.jpg
(43.85 KB, 下载次数: 29)
下载附件
2014-3-21 19:29 上传
2222.jpg
(56.74 KB, 下载次数: 29)
下载附件
2014-3-21 19:29 上传
String类的对象,求长度就是用 .length()方法。
程序中在用getBytes()方法,将strChina的字符串转为了byte类型的数组,
基础类型的数组,就是用 .length来求长度,具体出自哪里懒得查了,反正就是这么回事。
作者:
luoanjade
时间:
2014-3-22 00:21
length()是方法,length是属性!
作者:
杯之水
时间:
2014-3-22 13:09
String strChina="中国";
String类中有length()方法获取字符串长度
byte [] buf=strChina.getBytes("gb2312");
数组buf中有属性.length属性可以获取数组长度
具体原理可以参考:
http://jarfield.iteye.com/blog/564721
作者:
李猛
时间:
2014-3-22 13:11
因为你把strChina转换成了字符数组,再者你是读的数组中的字符数据,所以当然要使用数组的长度了,字符串跟字符不一样的,根据需求来定,还有就是length是数组的属性,length()是字符串的方法,不一样的。等你学到API就不迷茫了,不用太心急的
作者:
luoyilan222
时间:
2014-3-22 14:01
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性. 2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法. 3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2