開発プロセスでは、Java文字列クラスメソッドがよく使用されます。この記事では、この問題について詳しく説明します。
文字列:文字列タイプ
1。コンストラクタ
次のようにコードをコピーします。
String(byte [] bytes):バイト配列を介して文字列オブジェクトを作成します。
String(char [] value):char配列を介して文字列オブジェクトを作成します。
文字列(オリジナルを刺す):オリジナルのコピーを作成します。つまり、オリジナルをコピーします。
String(StringBuffer buffer):StringBuffer配列を介して文字列オブジェクトを構築します。
例:
次のようにコードコードをコピーします。
byte [] b = {'a'、 'b'、 'c'、 'd'、 'e'、 'f'、 'g'、 'h'、 'i'、 'j'};
char [] c = {'0'、 '1'、 '2'、 '3'、 '4'、 '5'、 '6'、 '7'、 '8'、 '9'};
文字列sb = new String(b); // abcdefghij
String sb_sub = new String(b、3,2); // de
String sc = newString©; // 0123456789
文字列sc_sub = new String(c、3,2); // 34
文字列sb_copy = new String(sb); // abcdefghij
System.out.println(“ sb:” + sb);
System.out.println(“ sb_sub:” + sb_sub);
System.out.println(“ sc:” + sc);
System.out.println(“ sc_sub:” + sc_sub);
System.out.println(“ sb_copy:” + sb_copy);
出力結果:sb:abcdefghij
sb_sub:de
sc:0123456789
sc_sub:34
sb_copy:abcdefghij
2.メソッド:
説明:①すべてのメソッドはパブリックです。
②。書き込み形式:[修飾子] <戻り値の型> <メソッド名([パラメータリスト])>
例:static int parseInt(String s)
は、このメソッド(parseInt)がクラスメソッド(static)であることを意味し、戻り値の型はis(int)の場合、メソッドには文字列の型が必要です。
- char charAt(int index):文字列内の文字を取得します。ここで、パラメーターindexは文字列内の序数を参照します。文字列の序数は0からlength()-1までです。
例:String s = new String( "abcdefghijklmnopqrstuvwxyz");
System.out.println( "s.charAt(5):" + s.charAt(5));
結果は次のとおりです:s.charAt(5):f - int compareTo(String anotherString):現在のStringオブジェクトをanotherStringと比較します。等式関係は0を返します。等しくない場合、比較は2つの文字列の0番目の文字から始まり、最初の等しくない文字の差を返します。別の場合、長い文字列の最初の部分がたまたま短い文字列になります。それらの長さの差を返します。
- int compareTo(Object o):oがStringオブジェクトの場合、2と同じ関数を持ちます。それ以外の場合、ClassCastExceptionがスローされます。
例:String s1 = new String( "abcdefghijklmn");
String s2 = new String( "abcdefghij");
String s3 = new String( "abcdefghijalmn");
System.out.println( "s1.compareTo(s2): "+ s1.compareTo(s2)); //長さの差を返します
System.out.println(" s1.compareTo(s3): "+ s1.compareTo(s3)); // 'k'の差を返します-'a '
結果は次のとおりです。s1.compareTo(s2):4
s1.compareTo(s3):10 - String concat(String str):Stringオブジェクトをstrと連結します。
- boolean contentEquals(StringBuffer sb):StringオブジェクトをStringBufferオブジェクトsbと比較します。
- 静的文字列copyValueOf(char [] data):
- static String copyValueOf(char [] data、int offset、int count):これらの2つのメソッドは、コンストラクターの1つと同様に、char配列をStringに変換します。
- booleanendsWith(文字列サフィックス):Stringオブジェクトがサフィックスで終わるかどうか。
例:String s1 = new String( "abcdefghij");
String s2 = new String( "ghij");
System.out.println( "s1.endsWith(s2):" + s1.endsWith(s2));
結果は次のとおりです:S1.endsWith(s2):true - boolean equals(Object anObject):anObjectが空でなく、現在のStringオブジェクトと同じである場合は、trueを返します。それ以外の場合は、falseを返します。
- byte [] getBytes():Stringオブジェクトをバイト配列に変換します。
- void getChars(int srcBegin、int srcEnd、char [] dst、int dstBegin):このメソッドは、文字列を文字配列にコピーします。このうち、srcBeginはコピーの開始位置、srcEndはコピーの終了位置、文字列値dstはターゲット文字配列、dstBeginはターゲット文字配列のコピー開始位置です。
例:char [] s1 = {'I'、 ''、 'l'、 'o'、 'v'、 'e'、 ''、 'h'、 'e'、 'r'、 '!' }; // s1 = I love her!
String s2 = new String( "you!"); s2.getChars(0,3、s1,7); // s1 = I love you!
System.out.println(s1 );
結果は次のとおりです:私はあなたを愛しています! - int hashCode():現在の文字のハッシュコードを返します。
- int indexOf(int ch):最初に一致する文字位置のみを検索します。
- int indexOf(int ch、int fromIndex):fromIndexから始まる最初の一致する文字位置を検索します。
- int indexOf(String str):最初に一致する文字列位置のみを検索します。
- int indexOf(String str、int fromIndex):fromIndexから始まる最初の一致する文字列位置を検索します。
例:String s = new String( "write once、run where !");
String ss = new String( "run");
System.out.println( "s.indexOf( 'r'):" + s。 indexOf( 'r'));
System.out.println( "s.indexOf( 'r'、2):" + s.indexOf( 'r'、2));
System.out.println( "s.indexOf (ss): "+ s.indexOf(ss));
結果は次のとおりです:s.indexOf( 'r'):1
s.indexOf( 'r'、2):12
s.indexOf(ss):12 - int lastIndexOf(int ch)
- int lastIndexOf(int ch、int fromIndex)
- int lastIndexOf(String str)
- int lastIndexOf(String str、int fromIndex)上記の4つのメソッドは、最後に一致するコンテンツを見つけることを除いて、13、14、15、16と同様です。
public class CompareToDemo { public static void main(String [] args){ String s1 = new String( "acbdebfg"); System.out.println(s1.lastIndexOf((int) 'b'、7)); } }実行結果:5 (fromIndexパラメーターは7です。これは、文字列abcdebfgの最後の文字gからの桁数です。文字cから照合を開始し、最後に一致したbの位置を見つけます。したがって、結果は次のようになります。 5)
- int length():現在の文字列の長さを返します。
- String replace(char oldChar、char newChar):文字列の最初のoldCharをnewCharに置き換えます。
- boolean startWith(String prefix):Stringオブジェクトがプレフィックスで始まるかどうか。
- boolean startWith(String prefix、int toffset):toffsetの位置からカウントするときに、Stringオブジェクトがプレフィックスで始まるかどうか。
例:String s = new String( "write once、run where!");
String ss = new String( "write");
String sss = new String( "once");
System.out.println( "s。 startWith(ss): "+ s.startsWith(ss));
System.out.println(" s.startsWith(sss、6): "+ s.startsWith(sss、6));
結果は次のとおりです:s.startsWith (ss):true
s.startsWith(sss、6):true - String substring(int beginIndex):部分文字列をbeginIndexの位置から最後まで取得します。
26.String substring(int beginIndex、int endIndex):部分文字列をbeginIndex位置からendIndex位置に移動します。 - char [] toCharArray():Stringオブジェクトをchar配列に変換します。
- String toLowerCase():文字列を小文字に変換します。
- String toUpperCase():文字列を大文字に変換します。
例:String s = new String( "java.lang.Class String");
System.out.println( "s.toUpperCase():" + s.toUpperCase());
System.out.println( "s。 toLowerCase(): "+ s.toLowerCase());
結果は次のとおりです。s.toUpperCase():JAVA.LANG.CLASS STRING
s.toLowerCase():java.lang.class string - static String valueOf(boolean b)
- 静的文字列valueOf(char c)
- 静的文字列valueOf(char [] data)
- static String valueOf(char [] data、int offset、int count)
- 静的文字列valueOf(double d)
- 静的文字列valueOf(float f)
- 静的文字列valueOf(int i)
- 静的文字列valueOf(long l)
- static String valueOf(Object obj)
上記のメソッドは、さまざまなタイプをJava文字タイプに変換するために使用されます。これらはすべてクラスメソッドです。
JavaのStringクラスの一般的なメソッド:
public char charAt(int index)
は文字列内のインデックス文字を返します;
public int length()
は文字列の長さを返します;
public int indexOf(String str)
は文字列内の最初の出現を返しますstrの位置;
public int indexOf(String str、int fromIndex)
は、fromIndexから始まる文字列内で最初に出現するstrの位置を返します;
public boolean equalsIgnoreCase(String another)
は、文字列が別の文字列と同じかどうかを比較します(大文字と小文字を区別しない) );
public String replace(char oldchar、char newChar)
文字列内のoldCharをnewCharに置き換えます
public boolean startWith(String prefix)
は、文字列がプレフィックス文字列で始まるかどうかを判断します;
public boolean endsWith(String Supplement)
は、文字列が接尾辞文字列の終わり;
public String toUpperCase()
文字列の大文字形式の文字列を返します
。publicStringtoLowerCase()
は、文字列の小文字形式の文字列を返します。publicString
substring(int beginIndex)
は、beginIndexから最後までの文字列のサブ文字列を返します。publicStringsubstring
( int beginIndex、int endIndex)
は、beginIndexからendsIndexまでの文字列のサブストリングを返します。publicStringtrim
()
は、開始スペースと終了スペースを削除した後、文字列を返します。publicString
[] split(String regex)
指定された区切り文字に従って文字列を区切り、分離された文字列配列を返します
例:
コードのコピーコードは次のとおりです。
public class SplitDemo { public static void main(String [] args){ String date =“ 2008/09/10”; String [] dateAfterSplit = new String [3]; dateAfterSplit = date.split( "/"); // 「/」を区切り文字として使用して日付文字列を分割し、結果を3つの文字列に分割します。for(int i = 0; i <dateAfterSplit.length; i ++)System.out.print(dateAfterSplit [i] + ""); } }
実行結果:2008 09 10 //セグメンテーション後の結果は3文字列です。
例:
TestString1.java:
プログラムコード
次のようにコードをコピーします。
public class TestString1
{ public static void main(String args []){ String s1 =“ Hello World”; String s2 =“ hello world”; System.out.println(s1.charAt(1)); System.out.println(s2.length()); System.out.println(s1.indexOf( "World")); System.out.println(s2.indexOf( "World")); System.out.println(s1.equals(s2)); System.out.println(s1.equalsIgnoreCase(s2)); String s =“我是J2EE程序员”; 文字列sr = s.replace( '我'、 '你'); System.out.println(sr); } }
TestString2.java:
プログラムコード
次のようにコードコードをコピーします。
public class TestString2
{ public static void main(String args []){ String s =“ Welcome to Java World!” ; 文字列s2 = "magci"; System.out.println(s.startsWith( "Welcome")); System.out.println(s.endsWith( "World")); 文字列sL = s.toLowerCase(); 文字列sU = s.toUpperCase(); System.out.println(sL); System.out.println(sU); 文字列subS = s.substring(11); System.out.println(subS); 文字列s1NoSp = s2.trim(); System.out.println(s1NoSp); }