String类

java中判断字符串一致的方法有两种,
* (1)调用equals()方法(区分大小写),比较的是值,equalsIgnoreCase()忽略大小写。
* (2)== 比较两个对象的引用是否相同。
* compareTo()判断字符串大小。返回的是数值。
* 字符串实例化方式:直接赋值方式,只开辟一块堆内存空间,而且保存的字符串内容可以自动入池,以供其他内容相同的字符串对象使用。
* 构造方法实例不能实现数据共享,开辟两块堆内存空间,字符串无法自动入池。但可以调用intern方法手工入池。
* 字符串的内容用户一旦定义,就表示开辟好了指定空间,那么字符串的内容就不能被改变。
* 字符串和字符数组可以相互转变,也可以实现从字符串中取出指定位置的字符。
* toCharArray()将字符串变为字符数组。String()将字符数组变成字符串,charAt返回指定索引上的字符内容。
* 字符串和字节数组也可以相互转变,与字符数组类似。
* 字符串的查找方法。课参考String类
* 字符串替换。replaceAll()替换所有,replaceFirst(),替换第一次出现字符字串。
* 字符串截取 subString()
* 字符产拆分:split();
*
* 其他方法:concat()字符串连接,intern()入池,length()字符串长度,isEmpty()判断字符串是否为空,
* toLowerCase()和toUpperCase()转换大小写。trim()去掉字符产前后空格。
*
* String s=new String(“java”);创建String对象的个数是两个对象,一个是“java”,一个是指向“java”的引用s
* 堆和栈的区别:
* 堆内容是栈内存的一个子集。
* 栈速度快,数据可共享,但其数据大小和生存期必须在运行前确定。
* 堆内容是运行时可动态分配的数据区,堆内存不共享,内容和大小运行时确定。
例:

public class StringEquals {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /* 比较部分 == 和 equals()方法。
        String str1 = "Hello";
        String str2 = new String("Hello");
        String str3 = str2;
        System.out.println(str1==str2);
        System.out.println(str1==str3);
        System.out.println(str3==str2);
        System.out.println(str1.equals(str2));
        System.out.println(str1.equals(str3));
        System.out.println(str2.equals(str3));*/

        /* 字符与字符数组 String() charAt() toCharArray() 
        String str = "hellojava";
        char data[] = str.toCharArray();
        for(int i =0;i<data.length;i++){
            System.out.print(data[i]+",");
            data[i]-=32;
        }
        System.out.println();
        System.out.println("将字符数组变成字符串"+new String(data));
        System.out.println("将部分字符数组变为字符串:"+new String(data,5,4));*/

        String str = "**hello$$world##";
		if(str.contains("hello")){
			System.out.println("内容存在,已经找到");
		}
		if(str.indexOf("r")!=-1){
			System.out.println("内容存在,字符串位置:"+str.indexOf("r"));
		}
		if(str.indexOf("o",6)!=-1){
			System.out.println("内容存在,字符串位置:"+str.indexOf("o",6));
		}
		if(str.lastIndexOf("w",12)!=-1){
			System.out.println("内容存在,字符串位置:"+str.lastIndexOf("w",12));
		}
		System.out.println(str.startsWith("**"));
		System.out.println(str.startsWith("$$",7));
        System.out.println(str.endsWith("##"));


    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值