字符串的问题

  
经验 1
String 类中的 string.length() 方法, String.getBytes().length 返回的值是不一样的。
例如: String str = “ 中123 喊a”;
str.length(); //返回6 字符串的长度为字符串里包含的字符的个数,中文字符按一个处理
str.getBytes().length  //返回8 ,因为中文字占两个字节,
 
一个例子:
编一个函数,两个参数一个字符串,一个是要截取的字符串个数,按照数字对字符串的进行截取,如: ABC汉.数字是3则输出ABC,如果是4则还是输出ABC,不能输出半个汉字
   实现如下
 private static String cut(String str, int len)
 {
        String retstr = str.substring(0, Math.min(len, str.length()));
        while(retstr.getBytes().length > len)
 {
            retstr = retstr.substring(0, retstr.length() - 1);
        }
        return retstr;
}
 
经验 2
String 类型的比较 == ”表示比较两个引用,比的是地址,比较两个变量是否引用的是同一个对象,如果要比较两个字符串的值是否相等要用 String.equals(String str);
 
例:
String str1 = “abcd”;
String str2 = “abcd”
此时 str1 == str2 // (true) 这是 str1 str2, 引用的是同一个对象,
str1.equals(str2)   //true 因为两个的内容相等
如果:
String str1 = new String(“abcd”);
String str2 = new String(“abcd”)
此时 str1 == str2 // (false) 这是 str1 str2, 引用的是两个不同的对象,
str1.equals(str2)   //true 因为两个的内容相等
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值