Java学习之字符串类String(一)

1.字符串的比较

public class stringConparation {
    public static void main(String[] args) {
        String s1 = "Welcome to java";
        String s2 = new String("Welcome to java");
        String s3 = "Welcome to java";
        System.out.println(s1 == s2);
        System.out.println(s1 == s3);
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));

    }
}

运算结果

false
true
true
true
  1. 运算符==只能检测是否指向同一个对象,对于s1和s3指向的对象,和s2不同,而且这里引入了一个interned string object的概念,但我现在是觉得没有必要,你直接说对于两种不同的创建方法,创建出的对象指向的地址不同就可以了。
  2. 比较的话使用equals方法,这里的返回的boolean型值,还有一种比较的方法就是compareTo()方法,这里返回的就是一个int型的整数,实际值是根据s1和s2从左到右第一个不同的字符之间的距离得出的。(距离的计算是否就是ASCII吗呢?结果我的猜想是正确的)

举例说明compareTo()方法:

String s1 = "abc"; 
String s2 = "abcd"; 
String s3 = "abcdfg"; 
String s4 = "1bcdfg"; 
String s5 = "cdfg"; 
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) 
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) 
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) 
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

2.字符串的长度,字符以及组合字符串

+length() :int   //返回这个字符串的字符个数
+charAt(index:int):char //返回这个字符串的制定下标处的字符
+concat(s1:string):String //返回的这个字符串和s1组合而成的新字符串

这里有一个问题就是如果charAt的参数所指的下标是超出这个字符串的长度了呢?

解答:这里会有抛出一个异常 StringIndexOutOfBoundsException

3.获取子串

+substring(beginIndex:int,endIndex:int):String

返回的是以指定的beginIndex开始并延续到endIndex-1的字符串的子串。

4.字符串的转换、替换和分隔

+toLowCase():String
+toUpperCase():String
+trim():String         //返回去掉了两端的空白字符之后的新字符串
+replace(oldChar:char,newChar:char):String
+replaceFirst(oldString:String,newString:String):String
+replaceAll(oldString:String,newString:String):String

+split(delimiter:String):String

注释:repalce方法只能替换一个字符数,若要用到字符串,那只能用repalceAll,而repalceFirst只是替换遇到的第一个字符串。(一个字符数也可以叫字符串,只是短一点)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值