返回值是内容的原因 Student stu = new Student("张三",18); System.out.println(stu);
返回的不是地址值,而是实际内容的话。
是因为对toString方法进行了重写。
String 中常用的一些方法
String str = "你好吗,真的好吗,如果真的好的话,你是真的好啊,哈哈"; //int indexOf(String str) 回str这个字符串在大字符串中第一次出现的位置,不包含自己 int index = str.indexOf("如果"); System.out.println(index); // 输出是 9
//boolean isEmpty() 当且仅当 length() 为 0 时返回 true。 System.out.println(str.isEmpty()); // 输出是false
//String replaceAll(String regex, String replacement) 将regex全部替换为替换为replacement String s = str.replaceAll(",","?"); System.out.println(s); //输出是:你好吗?真的好吗?如果真的好的话?你是真的好啊?哈哈
//String[] split(String regex) 根据我们给定的regex字符串将大字符串切割为数组 String [] arr = str.split(","); System.out.println(arr); //地址值哦 char [] arr2 = {'a','b','c'}; System.out.println(arr2); // 输出是abc,字符数组重写了toString for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); //输出 你好吗 真的好吗 如果真的好的话 你是真的好啊 哈哈
//切割字符串 String substring(int beginIndex) 包括beginIndex位置以及后面所有的内容,不包括10这个位置的字符。 String s1 = str.substring(10); System.out.println(s1); // 输出是:果真的好的话,你是真的好啊,哈哈
//String substring(int beginIndex, int endIndex) //beginIndex 起始索引值 //endIndex 终止索引值 //包前不包后 String s2 = str.substring(1,2); System.out.println(s2);
String 与StringBuilder相互转换
1.将字符串转为StringBuilder new StringBuilder("Hello"); 2.将StringBuilder转为字符串 toString();
StringBuilder sb = new StringBuilder(); System.out.println(sb.capacity()); StringBuilder sb2 = new StringBuilder("Hellosdfsdfdsfsfdsfdsfdsfdsfdsfdsfdsfds"); System.out.println(sb2.capacity()); String string = sb2.toString(); System.out.println(string);