String类

1,String的概述

字符串是由多个字符组成的一串数据(字符序列)的字符串常量,java中所有字
符串都是String类的实例.
有两种创建形式:

1,String s = "abc";
先在栈中创建一个对String类的对象引用变量s,然后去字符串常量池中查找
有没有"abc", 如果没有则在常量池中添加”abc”, s引用变量指向常量池中
的”abc”,如果常量池中有,则直接指向改地址即可,不用重新创建.
2,一概在堆中创建新对象,值存储在堆内存的对象中。
String s = new String("abc");

3,同时需要注意的是底层存储字符串内容的数组,是被final修饰的,必须在对象创建之初由构造方法对其赋值。

private final char value[];

String s = "abc"; abc

s += "aaa"; abcaaa

s += "bbb"; abcaaabbb

s += "ccc"; abcaaabbbccc 每次+= + 其实都是创建了一个新的字符串对象

2,String的判断功能

String s = "abcd"; //null-关键字 ""-->字符串对象的值是""

System.out.println(s.equals("abcD"));//判断是否相等

System.out.println(s.equalsIgnoreCase("abcD"));//忽略大小写

System.out.println(s.contains("a"));//判断是否包含所对的字符串

System.out.println(s.contains("ab"));//判断是否包含子串(子串必须是连续的)

System.out.println(s.contains("ac"));//false

System.out.println(s.isEmpty());//判断是否是空串""

System.out.println(s.startsWith("ab"));//判断是否以指定的子串开头

System.out.println(s.endsWith("bd"));//判断是否以以指定的子串结尾

3,String的获取功能

String s = "abcdcde";

//0123456

System.out.println(s.length());//获取该字符串的长度

System.out.println(s.charAt(2));//获取前两个字符

System.out.println(s.indexOf("c"));//返回指定字符首次出现的位置

System.out.println(s.indexOf("cd"));//返回指定字符串首字母首次出现的位置

System.out.println(s.indexOf("c", s.indexOf("c")+1));//从指定的位置开始查找

System.out.println(s.lastIndexOf("c"));//从后向前查找

//String s1 = s.substring(3);//从指定的位置开始截取字符串,返回一个新的子字符串

String s1 = s.substring(0,4);//从指定的位置开始到指定的位置结束(不包含结束)截取字符串,返回一个新的子字符串

4,转换功能

String s = String.valueOf(a);//把其他类型转为字符串 建议使用的,避免出现空指针异常

System.out.println(s);

char[] c = {'a','b','c'};

String s1 = String.valueOf(c);

String s2 = "abcDEF你好";

System.out.println(s2.toLowerCase());//转换为小写字母

System.out.println(s2.toUpperCase());//转换为大写字母

String s3 = s2.concat("wwwww");//将指定字符串拼接到字符串末尾,返回一个新的字符串

System.out.println(s3);

String s4 = "ab;cde;fg";

String [] strings = s4.split(";"); // 使用指定的字符将字符串分割为数组 正则表达式。

5,替换功能

String s = " abcd cefg ";

System.out.println(s.replace('c', 'C'));//把小写c全部转换为大写C

System.out.println(s.replace("cd", "CC"));//把字符串cd转换为字符串CC

// replaceAll() 使用正则表达匹配需要替换的内容

System.out.println(s.replaceAll("c", "CC"));

System.out.println(s.replaceFirst("c", "CC"));

String trim()//去除字符串两空格
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值