String类的基本用法

 

字符串的用法;

    // 根据字节数组创建字符串

byte[] by = { 'a', 'b', 'c', 'd' };
String newByteString = new String(by);

 

 

    1,length()  获取字符串的长度

 

          // "根据字节数组创建字符串的长度为

int len = newByteString.length();
System.out.println("根据字节数组创建字符串的长度为:" + len);

 

 

    2,codePointAt(int index)

   // 返回指定索引处的字符(Unicode 代码点)。

int codePointat = newByteString.codePointAt(2);
System.out.println("返回指定索引处的字符(Unicode 代码点)" + codePointat);

 

 

       3,codePointBefore(int index)

            // 返回指定索引的前一个字符的编码(Unicode 代码点)

int codePointatbefore = newByteString.codePointBefore(2);
System.out.println("返回指定索引的前一个字符的编码(Unicode 代码点)" +            codePointatbefore);

 

 

    4,codePointCount(int beginIndex, int endIndex)

     // 返回此 String 的指定文本范围中的 Unicode 代码点数。

 

   int codePointcount = newByteString.codePointCount(0, 3);
      System.out.println("返回此 String 的指定文本范围中的 Unicode 代码点数。"
      + codePointcount);

 

 

   5,toLowerCase()

     // 将字符串转成小写

String tolower = newByteString.toLowerCase();
System.out.println("字符串转成小写" + tolower);

 

   6,toUpperCase();

// 将字符串转成大写

String toUpper = newByteString.toUpperCase();
System.out.println("字符串转成大写" + toUpper);

 

 

 

   7,substring(int beginIndex)

    // 截取字符串,输入要截取的开始位置

String sub = newByteString.substring(0);
System.out.println("要截取的开始位置" + sub);

 

 

  8,substring(int beginIndex,  int endIndex)

     // 在截取的开始位置和结束位置0 <=subStratEnd<2

String subStratEnd = newByteString.substring(0, 2);
System.out.println("截取的开始位置和结束位置" + subStratEnd);

 

 

    9, subSequence(int beginIndex,  int endIndex)

     // 返回一个新的字符序列,它是此序列的一个子序列。此用法和substring(0, 2)相似;

CharSequence Charsequence = newByteString.subSequence(0, 2);
System.out.println("返回一个新的字符序列" + Charsequence);

 

 

     10,startsWith(String prefix)

 

      //测试此字符串是否以指定的字符开头 true是  false否

boolean b= newByteString.startsWith("a");
System.out.println(b);

 

 

  11,startsWith(String prefix,  int toffset)

   // 测试此字符串从指定索引开始的子字符串是否以指定前缀开始

String str ="a";
boolean c = newByteString.startsWith(str,0);
System.out.println("定索引开始的子字符串"+c);

 

 

    12,indexOf(int ch)

    //测试某字符在字符串中第一次出现的位置

int indexof =  newByteString.indexOf("b");
System.out.println("测试某字符在字符串中第一次出现的位置"+indexof);

 

 

   13, indexOf(String str)

     //测试str字符串中的字符在newByteString字符串第一次出现的位置

int index =  newByteString.indexOf(str);
System.out.println(index);

 

 

   14,trim()

        //返回此字符串的内容,忽略前导空白和尾部空白。

String Trim=newByteString.trim();
System.out.println(Trim);

 

 

 

15,判断字符串是否为空    isEmpty();

 

16,将字符串转成字符  toCharArray()

 

17,获得字符串中的字节  byte[] getBytes()

 

18,比较两个字符串是否相等   equals(Object anObject)

 

 

创建String对象

byte[] by = { 'a', 'b', 'c', 's' };

  // String()

// 初始化一个新创建的 String 对象,使其表示一个空字符序列。

//     String string = new String();

 

// String(byte[] bytes)

// 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。

// String string = new String(by);

 

 

// String(byte[] bytes, int offset, int length)

// 通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。

// String newString = new String(by, 1, 2);

// System.out.println(newString);// bc

 

     

  

String常见的问题:

 

   1,字符串相等

     	 String a = new String("Java");
String b = new String("Java");
System.out.println(a==b);
String aa = "Java";
String bb ="Java";
System.out.println(aa ==bb);

 

结果:

false  new出来的两个地址

true   变量是放在常量池中的aa,bb都引用这个地址

 

    2,字符串相+ 的问题

 

   

 String aa = "java";
    String bb = "c";
    String dd = "javac";
    String cc = aa+bb;
    System.out.println(cc==dd); false  

false

    String aa = "java";
    String bb = "c";
    String dd = "aabb";
    String cc = "aa"+"bb";
    System.out.println(cc==dd);

 

 

true

  

 

 

 

你可能感兴趣的:(String)