A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓超军 中级黑马   /  2012-6-30 09:38  /  2796 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邓超军 于 2012-6-30 09:40 编辑

String类有一个codePointAt方法,查询api时,是这样解释的:“返回指定索引处的字符(Unicode 代码点)。索引引用 char 值(Unicode 代码单元),其范围从 0 到 length() - 1。”。但是我没明白他说的是什么意思,代码点又有什么用?如下面代码
String oFile="白雪.mp3";
  int cp = oFile.codePointAt(1);
  System.out.println(cp);
得到的结果是38634,在书上还有这样一句话:“
如果想要遍历一个字符串,并且依次查看每一个代码点,可以使用一下语句:
int cp = sentence.codePointAt(i);
if (Character.isSupplementaryCodePoint(cp)) i += 2;
else i++; ”
这句又是怎么回事?

2 个回复

倒序浏览
package luntantest;

public class Test11 {
        public static void main(String[] args) {
                String oFile="白雪.mp3";
                   int cp = oFile.codePointAt(1);
                   String str = "a";
                   String str1 = "A";
                   System.out.println(str1.codePointAt(0));
                   System.out.println(str.codePointAt(0));
                  System.out.println(cp);
        }

}
输出结果是
65
97
38634
很简单我们可以知道返回的是ASCII码
后面的是遍历String类型,每个占用两个字节所以加2

评分

参与人数 1技术分 +2 收起 理由
刘蕴学 + 2

查看全部评分

回复 使用道具 举报
张天天 发表于 2012-6-30 10:41
package luntantest;

public class Test11 {

谢谢!通过你的回答我懂了,谢谢了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马