这些方法,你只要理解或看得懂String的部分底层源码,就很容易了。
如:为什么能计算字符串的长度?“1. int length():返回字符串的长度: return value.length”。
? 答:因为字符串的底层使用char型数组存储的,既然是数组,当然就会有数据元素的个数了。
public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash code for the string */ private int hash; // Default to 0 /** use serialVersionUID from JDK 1.0.2 for interoperability */ private static final long serialVersionUID = -6849794470754667710L; .... }
用上面的方法实现,最后先自己思考。
模拟一个trim方法,去除字符串两端的空格。
将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反 转为”abfedcg”
获取一个字符串在另一个字符串中出现的次数。 比如:获取“ ab”在 “abkkcadkabkebfkabkskab” 中出现的次数
获取两个字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm" 提示:将短的那个串进行长度依次递减的子串与较长的串比较。
对字符串中字符进行自然顺序排序。 提示: 1)字符串变成字符数组。 2)对数组排序,选择,冒泡,Arrays.sort(); 3)将排序后的数组变成字符串
原文:https://www.cnblogs.com/lixuelin/p/13734011.html