- 1. String Class Source Code
- 2. Common Method
- 2.1 查询某个字母出现的次数
- 2.2 查询某个字母出现第三次后,后面的字母
- 2.3 两个字符串比较
- 2.4 截取
- 2.5 切割
- 2.6 去掉字符串前面和后面的空格
Java基础都忘了,是时候捡一捡啦
package java.lang;
import java.io.ObjectStreamField;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Formatter;
import java.util.Locale;
import java.util.Objects;
import java.util.StringJoiner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public final class String
implements java.io.Serializable, Comparable, CharSequence {
private final char value[];
private int hash; // Default to 0
private static final long serialVersionUID = -6849794470754667710L;
public int length() {
return value.length;
}
public boolean isEmpty() {
return value.length == 0;
}
public char charAt(int index) {
;
}
void getChars(char dst[], int dstBegin) {
System.arraycopy(value, 0, dst, dstBegin, value.length);
}
public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
}
public byte[] getBytes() {
return StringCoding.encode(value, 0, value.length);
}
public boolean equals(Object anObject) {
}
public int compareTo(String anotherString) {
}
public boolean startsWith(String prefix, int toffset) {
}
public boolean startsWith(String prefix) {
return startsWith(prefix, 0);
}
public boolean endsWith(String suffix) {
return startsWith(suffix, value.length - suffix.value.length);
}
public int hashCode() {
}
public int indexOf(int ch) {
return indexOf(ch, 0);
}
public int indexOf(int ch, int fromIndex) {
}
public int lastIndexOf(int ch, int fromIndex) {
}
public int indexOf(String str) {
return indexOf(str, 0);
}
public int indexOf(String str, int fromIndex) {
return indexOf(value, 0, value.length,
str.value, 0, str.value.length, fromIndex);
}
static int indexOf(char[] source, int sourceOffset, int sourceCount,
String target, int fromIndex) {
}
public int lastIndexOf(String str) {
return lastIndexOf(str, value.length);
}
public int lastIndexOf(String str, int fromIndex) {
return lastIndexOf(value, 0, value.length,
str.value, 0, str.value.length, fromIndex);
}
public String substring(int beginIndex) {
}
public String substring(int beginIndex, int endIndex) {
}
public CharSequence subSequence(int beginIndex, int endIndex) {
return this.substring(beginIndex, endIndex);
}
public String concat(String str) {
}
public String replace(char oldChar, char newChar) {
}
public boolean matches(String regex) {
return Pattern.matches(regex, this);
}
public boolean contains(CharSequence s) {
return indexOf(s.toString()) > -1;
}
public String replaceFirst(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceFirst(replacement);
}
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
public String replace(CharSequence target, CharSequence replacement) {
return Pattern.compile(target.toString(), Pattern.LITERAL).matcher(
this).replaceAll(Matcher.quoteReplacement(replacement.toString()));
}
public String[] split(String regex, int limit) {
}
public String[] split(String regex) {
return split(regex, 0);
}
public String toLowerCase(Locale locale) {
}
public String toLowerCase() {
return toLowerCase(Locale.getDefault());
}
public String toUpperCase(Locale locale) {
}
public String toUpperCase() {
return toUpperCase(Locale.getDefault());
}
public String trim() {
}
public String toString() {
return this;
}
public char[] toCharArray() {
}
public static String valueOf(char data[], int offset, int count) {
return new String(data, offset, count);
}
public static String valueOf(int i) {
return Integer.toString(i);
}
}
2. Common Method
2.1 查询某个字母出现的次数
public int queryLetterCount(String sourceChar,String searchChar) {
int index = sourceChar.indexOf(searchChar);
int count = 0;//定义一个计数器
while (index != -1) {
count++;
index = sourceChar.indexOf(searchChar, index + 1);
}
return count;
}
2.2 查询某个字母出现第三次后,后面的字母
public int queryLetterCount(String path,String searchChar) {
String tableName = null;
int count = queryLetterCount(path, searchChar);
Pattern pattern = Pattern.compile(searchChar);
Matcher findMatcher = pattern.matcher(path);
int number = 0;
while(findMatcher.find()) {
number++;
if(number == 3){
int slashIndex = findMatcher.start();
tableName = path.substring(slashIndex+1,path.length());
break;
}
}
return tableName;
}
2.3 两个字符串比较
注意:String会出现null的情况
- “abc”.equals(str) //常量放前面
- str.equals(“abc”)
public class Demo {
public static void main(String[] args) {
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB)); // false,严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB)); // true,忽略大小写
String strC = null;
System.out.println("java".equals(strC)); // 推荐:false
}
}
contains不区分大小写
public class Demo {
public static void main(String[] args) {
String myStr = "RunJava";
System.out.println(myStr.contains("Run")); //true
System.out.println(myStr.contains("java")); //true
System.out.println(myStr.contains("s")); //false
}
}
2.4 截取
含左不含右
public class Demo {
public static void main(String[] args) {
String str1 = "HelloWorld";
String str2 = str1.substring(5);
System.out.println(str2); // World,新字符串
String str3 = str1.substring(5, 7);
System.out.println(str3); // Wo
}
}
2.5 切割
public class Demo {
public static void main(String[] args) {
String str = "aaa,bbb,ccc";
String[] split = str.split(",");
List result = Arrays.asList(split);
。。。。。。
}
}
2.6 去掉字符串前面和后面的空格
public class Demo {
public static void main(String[] args) {
String str = " test trim ";
Strings new = str.trim();
System.out.println(new);
}
}



