String ַJava еֵַ "abc" Ϊʵʵ֡
class java.lang.String
.class Ljava/lang/String;

̳
inherit java.lang.Object
.super Ljava/lang/Object;

һ String  Comparator compareToIgnoreCase ͬ
public static final Comparator<String> CASE_INSENSITIVE_ORDER
sget-object v0, Ljava/lang/String;->CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;

췽ʼһ´ String ʹʾһַС
constructor String()
invoke-direct {v0}, Ljava/lang/String;-><init>()V

췽ͨʹƽ̨Ĭַָ byte 飬һµ String
constructor String(byte[] bytes)
invoke-direct {v0, v1}, Ljava/lang/String;-><init>([B)V

췽ͨʹָ charset ָ byte 飬һµ String
constructor String(byte[] bytes, Charset charset)
invoke-direct {v0, v1, v2}, Ljava/lang/String;-><init>([BLjava/nio/charset;)V

췽ѹʱ ÷޷ֽȷתΪַ JDK 1.1 ʼɸתѡʹô Charsetַƣʹƽ̨Ĭַ String 췽
constructor String(byte[] ascii, int hibyte)
invoke-direct {v0, v1, v2}, Ljava/lang/String;-><init>([BI)V

췽ͨʹƽ̨Ĭַָ byte 飬һµ String
constructor String(byte[] bytes, int offset, int length)
invoke-direct {v0, v1, v2, v3}, Ljava/lang/String;-><init>([BII)V

췽ͨʹָ charset ָ byte 飬һµ String
constructor String(byte[] bytes, int offset, int length, Charset charset)
invoke-direct {v0, v1, v2, v3, v4}, Ljava/lang/String;-><init>([BIILjava/nio/charset;)V

췽ѹʱ ÷޷ֽȷתΪַ JDK 1.1 ʼɸתѡʹô Charsetַƣʹƽ̨Ĭַ String 췽
constructor String(byte[] ascii, int hibyte, int offset, int count)
invoke-direct {v0, v1, v2, v3, v4}, Ljava/lang/String;-><init>([BIII)V

췽ͨʹַָָ byte 飬һµ String
constructor String(byte[] bytes, int offset, int length, String charsetName)
invoke-direct {v0, v1, v2, v3, v4}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V

췽ͨʹָ charset ָ byte 飬һµ String
constructor String(byte[] bytes, String charsetName)
invoke-direct {v0, v1, v2}, Ljava/lang/String;-><init>([BLjava/lang/String;)V

췽һµ StringʹʾַеǰַС
constructor String(char[] value)
invoke-direct {v0, v1}, Ljava/lang/String;-><init>([C)V

췽һµ Stringȡַһַ
constructor String(char[] value, int offset, int count)
invoke-direct {v0, v1, v2, v3}, Ljava/lang/String;-><init>([CII)V

췽һµ String Unicode һַ
constructor String(int[] codePoints, int offset, int count)
invoke-direct {v0, v1, v2, v3}, Ljava/lang/String;-><init>([III)V

췽ʼһ´ String ʹʾһַͬУ仰˵´ַǸòַĸ
constructor String(String original)
invoke-direct {v0, v1}, Ljava/lang/String;-><init>(Ljava/lang/String;)V

췽һµַַеǰַС
constructor String(StringBuffer buffer)
invoke-direct {v0, v1}, Ljava/lang/String;-><init>(Ljava/lang/StringBuffer;)V

췽һµַַеǰַС
constructor String(StringBuilder builder)
invoke-direct {v0, v1}, Ljava/lang/String;-><init>(Ljava/lang/StringBuilder;)V

ָ char ֵ
char charAt(int index)
invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C

ַָUnicode 㣩
int codePointAt(int index)
invoke-virtual {v0, v1}, Ljava/lang/String;->codePointAt(I)I

ָ֮ǰַUnicode 㣩
int codePointBefore(int index)
invoke-virtual {v0, v1}, Ljava/lang/String;->codePointBefore(I)I

ش String ָıΧе Unicode 
int codePointCount(int beginIndex, int endIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->codePointCount(II)I

ֵ˳Ƚַ
int compareTo(String anotherString)
invoke-virtual {v0, v1}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I

ֵ˳ȽַǴСд
int compareToIgnoreCase(String str)
invoke-virtual {v0, v1}, Ljava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I

ַָӵַĽβ
String concat(String str)
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

ҽַָ char ֵʱ true
boolean contains(CharSequence s)
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

ַָ CharSequence Ƚϡ
boolean contentEquals(CharSequence cs)
invoke-virtual {v0, v1}, Ljava/lang/String;->contentEquals(Ljava/lang/CharSequence;)Z

ַָ StringBuffer Ƚϡ
boolean contentEquals(StringBuffer sb)
invoke-virtual {v0, v1}, Ljava/lang/String;->contentEquals(Ljava/lang/StringBuffer;)Z

ָбʾַе String
String copyValueOf(char[] data)
invoke-static {v0}, Ljava/lang/String;->copyValueOf([C)Ljava/lang/String;

ָбʾַе String
String copyValueOf(char[] data, int offset, int count)
invoke-static {v0, v1, v2}, Ljava/lang/String;->copyValueOf([CII)Ljava/lang/String;

ԴַǷָĺ׺
boolean endsWith(String suffix)
invoke-virtual {v0, v1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

ַָĶȽϡ
boolean equals(Object anObject)
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

 String һ String ȽϣǴСд
boolean equalsIgnoreCase(String anotherString)
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

ʹָԻʽַͲһʽַ
String format(Locale l, String format, Object... args)
invoke-static {v0, v1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

ʹָĸʽַͲһʽַ
String format(String format, Object... args)
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

ʹƽ̨Ĭַ String Ϊ byte У洢һµ byte С
byte[] getBytes()
invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B

ʹø charset  String 뵽 byte У洢µ byte 顣
byte[] getBytes(Charset charset)
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset;)[B

ѹʱ ÷޷ַȷתΪֽڡ JDK 1.1 ɸתѡͨ getBytes() ÷ʹƽ̨Ĭַ
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
invoke-virtual {v0, v1, v2, v3, v4}, Ljava/lang/String;->getBytes(II[BI)V

ʹַָ String Ϊ byte У洢һµ byte С
byte[] getBytes(String charsetName)
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

ַӴַƵĿַ顣
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
invoke-virtual {v0, v1, v2, v3, v4}, Ljava/lang/String;->getChars(II[CI)V

شַĹϣ롣
int hashCode()
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I

ַָڴַеһγִ
int indexOf(int ch)
invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(I)I

ڴַеһγַָָʼ
int indexOf(int ch, int fromIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->indexOf(II)I

ַָڴַеһγִ
int indexOf(String str)
invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

ַָڴַеһγִָʼ
int indexOf(String str, int fromIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;I)I

ַĹ淶ʾʽ
String intern()
invoke-virtual {v0}, Ljava/lang/String;->intern()Ljava/lang/String;

ҽ length() Ϊ 0 ʱ true
boolean isEmpty()
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z

ַָڴַһγִ
int lastIndexOf(int ch)
invoke-virtual {v0, v1}, Ljava/lang/String;->lastIndexOf(I)I

ַָڴַһγִָʼз
int lastIndexOf(int ch, int fromIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->lastIndexOf(II)I

ַָڴַұִ߳
int lastIndexOf(String str)
invoke-virtual {v0, v1}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I

ַָڴַһγִָʼ
int lastIndexOf(String str, int fromIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;I)I

شַĳȡ
int length()
invoke-virtual {v0}, Ljava/lang/String;->length()I

ַ֪Ƿƥʽ
boolean matches(String regex)
invoke-virtual {v0, v1}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

ش String дӸ index ƫ codePointOffset 
int offsetByCodePoints(int index, int codePointOffset)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->offsetByCodePoints(II)I

ַǷȡ
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
invoke-virtual/range {v0 .. v5}, Ljava/lang/String;->regionMatches(ZILjava/lang/String;II)Z

ַǷȡ
boolean regionMatches(int toffset, String other, int ooffset, int len)
invoke-virtual {v0, v1, v2, v3, v4}, Ljava/lang/String;->regionMatches(ILjava/lang/String;II)Z

һµַͨ newChar 滻ַгֵ oldChar õġ
String replace(char oldChar, char newChar)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(CC)Ljava/lang/String;

ʹֵָ滻滻ַƥֵĿеַ
String replace(CharSequence target, CharSequence replacement)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

ʹø replacement 滻ַƥʽַ
String replaceAll(String regex, String replacement)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

ʹø replacement 滻ַƥʽĵһַ
String replaceFirst(String regex, String replacement)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

ݸʽƥִַ
String[] split(String regex)
invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

ƥʽִַ
String[] split(String regex, int limit)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;

ԴַǷָǰ׺ʼ
boolean startsWith(String prefix)
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

ԴַָʼַǷָǰ׺ʼ
boolean startsWith(String prefix, int toffset)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;I)Z

һµַУǴеһС
CharSequence subSequence(int beginIndex, int endIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->subSequence(II)Ljava/lang/CharSequence;

һµַǴַһַ
String substring(int beginIndex)
invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;

һַǴַһַ
String substring(int beginIndex, int endIndex)
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;

ַתΪһµַ顣
char[] toCharArray()
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C

ʹĬԻĹ򽫴 String еַתΪСд
String toLowerCase()
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

ʹø Locale Ĺ򽫴 String еַתΪСд
String toLowerCase(Locale locale)
invoke-virtual {v0, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;

ش˶Ѿһַ
String toString()
invoke-virtual {v0}, Ljava/lang/String;->toString()Ljava/lang/String;

ʹĬԻĹ򽫴 String еַתΪд
String toUpperCase()
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;

ʹø Locale Ĺ򽫴 String еַתΪд
String toUpperCase(Locale locale)
invoke-virtual {v0, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;

ַĸǰհ׺βհס
String trim()
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;

 boolean ַʾʽ
String valueOf(boolean b)
invoke-static {v0}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;

 char ַʾʽ
String valueOf(char c)
invoke-static {v0}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

 char ַʾʽ
String valueOf(char[] data)
invoke-static {v0}, Ljava/lang/String;->valueOf([C)Ljava/lang/String;

 char ضַʾʽ
String valueOf(char[] data, int offset, int count)
invoke-static {v0, v1, v2}, Ljava/lang/String;->valueOf([CII)Ljava/lang/String;

 double ַʾʽ
String valueOf(double d)
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(D)Ljava/lang/String;

 float ַʾʽ
String valueOf(float f)
invoke-static {v0}, Ljava/lang/String;->valueOf(F)Ljava/lang/String;

 int ַʾʽ
String valueOf(int i)
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

 long ַʾʽ
String valueOf(long l)
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

 Object ַʾʽ
String valueOf(Object obj)
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
