String类

一. String

1.      概念:String代表字符串。在Java中热河字符串的字面值都作为此类的实例实现,最重要的是字符串一旦被赋值,就无法改变。

2.     String常用的构造方法

1.String()表示的是一个字符串序列

2.PublicString(byte【】 bytes,Charset ch)默认字符集(编码格式):GBK,如果是默认编码格式的话,则不需要后面的参数。

3.publicString(byte[ ] bytes,int index,int length)将部分的字节数组构成一段字符串

4.publicString(char【】 value)将字符数组构成一段字符串

5.publicString(char【】 value,int index,int length)将部分字符数组构成一段字符串

6.publicString(String original)通过字符串常量创建一个字符串对象

7.publicint length( )获取字符串长度的功能。

(面试题:关于数组,字符串,以及集合之间length的区别关系

在数组中没有length( )功能,但有length属性,在字符串中有length( )功能,在集合中既没有length属性,也没有length( )功能,但是要获取元素数量用size( ))(注意:在字符串缓冲区中,是没有length( )功能的.)

3.      关于解码与编码

解码是将看不懂的东西转换成看得懂的东西。实质:就是将byte[ ]转换成String

Byte[ ]------public String(byte [ ] bytes,CharSetName ch)

编码是将看得懂的东西转换成看不懂的东西。实质:就是将String转换成byte[ ].

String------public byte[ ] getBytes(String, CharSetName ch)

注意编码与解码之间的默认字符必须要相同,不然将无法完成编码与解码。

4.      相同的意义,但是不相同的操作。面试题

对于String s=”hello”,String s=new String(“hello”)分别创建了几个对象?

答:对于第一个只是在字符串常量池中创建了一个对象,而对于第二个来说,既在堆内存中创建了一个对象,又在字符串常量池中创建对象开辟空间。切记String一旦被赋值将不能够被改变。

5.     String类中常用的逻辑判断功能方法(以下的方法都是靠用对象调用进行实现的)

1.      booleanequals (Object obj)表示当前该对象是否obj是否相等

2.      BooleanequalsIgnoreCase(String str)表示该字符串是否相等,忽略大小写。

3.      Booleancontains(String str)表示str这个字符串是否在当前这个字符串当中。

4.      BooleanstartsWith(String str)表示当前字符串是否以str开始的

5.      BooleanendsWith(String str)表示当前字符串是否以str结束的。

6.      BooleanisEmpty( )表示字符串是否为空。

public class StringDemo2 {

   public static void main(String[ ] args) {

      String s1="hello";

      String s2="world";

// 判断是否为object,是否相等。

      System.out.println(s1.equals(s2));/false

//表示是否相等,忽略大小写

      System.out.println(s2.equalsIgnoreCase("WORLD"));/true

//    判断这个字符串是否在当前对象当中

      System.out.println(s2.contains("rld"));/true

//当前对象是否以str开始或者结束

      System.out.println(s2.startsWith("wo"));/true

      System.out.println(s2.endsWith("ld"));/true

//判断字符串是否为空

      System.out.println(s2.isEmpty());/false

   }

}

6.字符串常量相加与字符串变量相加有什么不同。

字符串变量相加:先开辟空间,再相加。

字符串常量相加:现在字符串常量池中找,要是有,直接返回,要是没有先开辟空间再相加。

例:public class StringDemo2 {

   public static void main(String[ ] args) {

      String s1="beijing";

      String s2="welcome";

      String s3="beijingwelcome";

// 此相加是字符串变量之间的相加,所以先开辟空间,因此输出结果为false

      System.out.println(s3==s1+s2);false

//因为String类中的equals方法是被系统默认重写,本来是比较二者的地址,这里默认比较内容。

      System.out.println(s3.equals((s1+s2)));/true

//    此相加为字符串常量的相加,因此先在字符串常量池中寻找,有的话直接返回

      System.out.println(s3=="beijing"+"welcome");/true

      System.out.println(s3.equals(("beijing"+"welcome")));/true

   }

}

7.  String常用的获取功能

1.      int length()获取字符串长度

2.      char charAt(intindex)表示返回索引处对应的字符

3.      int indexOf(intch)返回指定字符在此字符串中第一次出现处的索引

4.      int indexOf(Stringstr)返回指定字符串在此字符串中第一次出现的索引

5.      int indexOf(intch,int fromindex)返回指定字符从指定索引位置出现第一次出现的索引

6.      int indexOf(String str,int fromindex)返回指定字符串从指定索引位置出现第一次出现的索引。

7.      Stringsubstring(int start)从指定位置开始截取字符串,默认位置是字符串末尾。

8.      Stringsubstring(int start,int end)从指定位置开始截取字符串,一直到指定位置结束,包头不包尾。

public class StringDemo2 {

   public static void main(String[] args) {

      String s="isdbvidfkvbidgb9eigbvsivkb9geirbv";

//获取字符串长度

      System.out.println(s.length());

//返回指定索引处字符

      System.out.println(s.charAt(28));

//指定字符第一次出现索引

      System.out.println(s.indexOf("v"));

//指定字符串第一次出现索引

      System.out.println(s.indexOf("bid"));

//指定位字符串,从指定为第一次出现索引

      System.out.println(s.indexOf("bid",7));

//从指定位置开始截取字符串,默认截取到末尾

      System.out.println(s.substring(4));

//    从指定位置开始截取到指定位置结束,包前(start索引)不包后(end索引)

      System.out.println(s.substring(4,22));

  

     

 

   }

}

8.String的转换功能

 1.byte[ ] getBytes( ) 将字符串转换成字节数组

 2.char[ ] toCharArray[( )  将字符串转换成字符数组

 3.static String valueof(char[ ] chs)将字符数组转换成字符串

 4.static String valueof(int i)将int类型数据转换成字符串

String中的valueof可以为将任何数据类型转换成String型

 5. StringtoLowcase( )将字符串中的字符全部转换成小写。

6.String toUppercase( )将字符串中的字符全部转换成大写。

7..String concat(String str)字符串拼接方法

 

 

9.String的其他功能

1.替换功能

Public String replace(char oldchar,char newchar)用新字符替换旧字符

Public String replace(char oldstr,char newstr)用新字符串替换旧字符串

1.     去除字符串两端空格

Public String trim( )

2.     两个字符串进行比较

Public intcompareTo(String anotherString)

是Comparable接口中的方法(该接口可以实现一个自然排序)

Comparator接口可以比较器排序(?)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值