String类

String类

  • 字符串是常量,创建之后不可改变。

  • 字符串字面值存储在字符串池(常量池)中,可以共享。

  • String s = "Hello";产生一个对象,字符串池中存储。

  • String s = new String (“Hello”);//产生两个对象,堆、字符串池各存储一个。

  • public static void main(String[]args ) {
       string name="hello"; // "hello"常量存储在字符串池中,
       name="zhangsan";/"张三”赋值给name变量,给字符串赋值时,并没有修改数据,而是重新开辟一块新的空间。
       string name2="zhangsan";
       string str=new String("java");
       string str2=new String( "java" );
       system.out.println(str==str2);//比较地址
       system.out.println( str.equals(str2));//比较值
    }

常用方法

  • public int length():返回字符串的长度。

  • System.out.println(string.length());
  • public char charAt(int index):根据下标获取字符

  • System.out.println(string.charAt(3));
  •  

  • public boolean contains(String str):判断当前字符串中是否包含str.

  • System.out.println(string.charAt(3));
  • public char[] toChafArray () :将字符串转换成数组。

  • System.out.println(Arrays.toString(string.toCharArray()));
  • public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1。

  • System.out.println(string.indexOf("or",5));
  • public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引。

  • System.out.println(string.lastIndexOf("H"));
  • public String trim():去掉字符串前后的空格。

  • System.out.println(string.trim());
  • public String toUpperCase():将小写转成大写。

  • System.out.println(string.toUpperCase(Locale.ROOT));//大写
    System.out.println(string.toLowerCase(Locale.ROOT));//小写
  • public boolean endWith(String str):判断字符串是否以str结尾。

  • System.out.println(string.endsWith("e"));
    System.out.println(string.startsWith("H"));//判断字符串是否以str开头。
  • public String replace(char oldChar, char newChar);将旧字符串替换成新字符串

  • System.out.println(string.replace("Hello","what"));
  • public String[] split(String str):根据str做拆分。

  • String[] s = string.split("[ ,]+");
          System.out.println(s.length);
          for (String s1 : s) {
              System.out.println(s1);
          }

可变字符串

  • StringBuffer:可变长字符串,JDK1.0提供,运行效率慢、线程安全。

  • StringBuilder:可变长字符串,JDK5.0提供,运行效率快、线程不安全。

StringBuffer/StringBuilder:

  • stringBuffer.append:追加

  • StringBuffer stringBuffer = new StringBuffer();
           stringBuffer.append("Java使我快乐 ");
           System.out.println(stringBuffer.toString());
  • stringBuffer.insert:插入

  • stringBuffer.insert(0,"Hello world");
    System.out.println(stringBuffer.toString());
  • stringBuffer.replace:替换

  • tringBuffer.replace(0,11,"你好 世界 ");
           System.out.println(stringBuffer.toString());
  • stringBuffer.delete:删除

  • stringBuffer.delete(0,6);
    System.out.println(stringBuffer.toString());
    stringBuffer.delete(0,stringBuffer.length());//清空缓冲区
    System.out.println(stringBuffer.toString());
  •  

      

posted @ 2021-03-09 16:10  斯卡哈  阅读(61)  评论(0)    收藏  举报