Java String类
字符串是常量,创建之后不可改变。
字符串字面值存储在字符串池中,可以共享。
关于字符串常量赋值
package com.stringDemo.Demo01;
public class Demo01 {
public static void main(String[] args) {
String name = "Mango";
name = "战三";
}
}
String s = "hello"; //产生一个对象,字符串池中存储。
String s = new String("hello"); //产生两个对象,堆和常量池中都有一个。
关于str声明的面试题
String str = new String("java");
String str2 = new String("java");
System.out.println(str == str2);
1. 常用方法
1.1 public int length(); 返回字符串的长度
String content = "java你好";
System.out.println(content.length()); // 6
1.2 public char charAt(int index) 根据下标获取字符
String content = "java你好";
System.out.println(content.charAt(2)); // v
1.3 public boolean contains(String str) 判断是否包含字符串
String content = "java你好";
System.out.println(content.contains("ava")); //true
1.4 public char[] toCharArray() 将字符串转成数组
String content = "java你好";
System.out.println(Arrays.toString(content.toCharArray()));; // [j, a, v, a, 你, 好]
1.5 public int indexOf(String int) 查找str首次出现的下标,存在,则返回该下标,不存在,则返回-1
String content = "java你好a";
System.out.println(content.indexOf("a")); // 1
System.out.println(content.indexOf("a",2)); // 3
1.6 public int lastIndexOf(String str) 查找字符串在当前字符串中最后一次出现的下标索引
String content = "java你好";
System.out.println(content.lastIndexOf("a")); // 3
1.7 public String trim() 去掉字符串前后的空格
String s1 = " Hello world ";
System.out.println(s1.trim()); // Hello world
1.8 public String toUpperCase() 将小写转成大写
String s1 = " Hello world ";
System.out.println(s1.toUpperCase()); // HELLO WORLD
System.out.println(s1.toLowerCase()); // hello world
1.9 public boolean endWith(String str) 判断字符串是否以str结尾
String filename ="hello.java";
System.out.println(filename.endsWith("java")); // true
System.out.println(filename.startsWith("hello")); // true
1.10 public String replace(char oldChar,char newChar) 将旧字符串替换成新字符串
String content = "java你好";
System.out.println(content.replace("java","php")); // php你好a
1.11 public String[] split(String str) 根据str做拆分
String say = "java is the best programing language";
System.out.println(Arrays.toString(say.split(" "))); // [java, is, the, best, programing, language]
多拆分:
String say = "java is the best programing, language";
System.out.println(Arrays.toString(say.split("[ ,]"))); // [java, is, the, best, programing, , language]
System.out.println(Arrays.toString(say.split("[ ,]+"))); // +号表示,出现多个也可以一起切割
补充
String s3 = "hello";
String s4 = "HELLO";
System.out.println(s3.equals(s4)); // 区分大小写 false
System.out.println(s3.equalsIgnoreCase(s4)); // 不区分大小写 true
String s5 = "abc"; // 97
String s6 = "ayz"; // 120
String s7 = "abcder";
System.out.println(s5.compareTo(s6)); // -23
System.out.println(s5.compareTo(s7)); // -3 s5 和 s7 比较 s5有的s7都有则会比较长度