菜鸟学习第十天

1.String类

1.字符串最大的特点:一旦初始化就不可以改变。(不可改变的字符串内容而不是指向字符串的引用)

2.String s=“abc”;其中s是一个类类型变量,“abc”是一个对象。

3.String s1="abc";和String s2=new String(“abc”);

s1==s2;和s1.equals(s2);,==比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false(比如还有一个String s3=“abc”;那么s1==s3;为true)。因为String中复写了object类中的equals,所以这个equals比较的就不是基于他们在内存中的存放位置的地址值,而是字符串了,因为s1和s2字符串内容“abc”,所以s1==s2;结果为false,s1.equals(s2);结果为true。

s1和s2的区别在于s1在内存中存在一个对象,s2在内存中存在2个对象,new一个和“abc”。

4.常见的方法:

1.获取。

   1.1 字符串长度:int length();

   1.2 获取某个位置上的某个字符:char charAt(int index);

   1.3 根据字符获取该字符在字符串中的位置:int indexOf(int ch);返回的是ch在字符串中第一次出现的位置。int indexOf(int ch,int fromIndex);返回的是从fromIndex指定位置开始,获取cd在字符串中出现的位置。int indexOf(String str);返回的是str位置。int lastIndexOf(int ch)从尾部开始查找。

2.判断。

   2.1 字符串中是否包含某一个字符串。boolean contains(CharSequence s);CharSequences是一个字符串序列接口。indexOf(str)也可以用来判断,没有则返回-1,还能返回位置。

   2.2 字符串是否有内容。bollean isEmpty();

   2.3 字符串是否以指定内容开头。boolean startWith(String str);

   2.4 字符串是否以指定内容结尾。boolean endWith(String str);

   2.5 判断字符串是否相同。bollean equals(str);bollean equalsIgnoreCase(str);判断内容是否相同并忽略大小写。

3.转换。

   3.1 将字符数组转换成字符串。

   构造函数:String(char[] value)

                     String(char[] value,int offset,int count):将字符数组的一部分转换为字符串。offset位置开始count个字符转换为字符串。

   静态方法:static String copyValueOf(char[] data);

                     static String copyValueOf(char[] data,int offset,int count);

   3.2 将字符串转成字符数组。char[] toCharArray();

   3.3  将字节数组转成字符串。

   构造函数:String(byte[] value)

                     String(byte[] value,int offset,int count):

   3.4 将字符串转成字节数组。byte[] getBytes();

   3.5 将基本数据类型转换成字符串。比如:3+“”;和String.valueOf(3);是一样的。

   static String valueOf(int i);

   static String valueOf(boolean b);

   static String valueOf(int i);

   注意:字符串和字节数组在转换过程中是可以指定编码表的。

4.替换

   String replace(oldchar,newchar);全替换,如果要替换的字符不存在,返回的还是原字符串。

5.切割

   String[] split(regex);按照regex规则切。

6.子串。获取字符串中的一部分。

   String substring(begin);   从指定位置到结尾

   String substring(begin,end);从指定位置到end前一位,包含头不包含尾。substring(0,字符串对象.length());不需要-1.

7.转换,去除空格,比较。

7.1 将字符串转换成大写或者小写

String toUpperCase();

String toLowerCase();

7.2 将字符串两端的多个空格去除

String trim();怎么去除所有空格,可以用replace(“ ”,“”);或者replaceAll(" +","");

7.3 对两个字符串进行自然顺序的比较

int compareTo(string);从两个字符串的第一个字符开始比较,相减

练习一:去除字符串两端空格

练习二:反转字符串

练习三:获取一个字符串在另一个字符串中出现的次数

练习四:获取两个字符串中最大相同子串

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值