JavaにおけるString,StringBuffer,StrigBuiderの一般的な方法及び使用例
4909 ワード
1.String類でよく使われる方法 char char charAt(int index)は、指定されたインデックスにおけるchar値を返します。 int compreToは辞書順に2つの文字列を比較します。実際には、文字のASCIIコードの差分値を返しますが、通常は正負か0 かにのみ関心があります。 bootlean contains(CharSequence)は、この文字列が指定されたchar値シーケンスを含む場合にのみ、trueを返します。 bootlean starts With(String prefix)は、この文字列が指定されたプレフィックスで始まるかどうかをテストします。また、この文字列が指定されたサフィックスで終了するかどうかを検出開始位置の下付きbook endsWithを指定しても良い。 bootlean equalsは、この文字列を指定されたオブジェクトと比較します。もう上書きしました。内容が等しいかどうかを比較します。 void getChars(int srrBegin,int srcenced,char[]dst,int dstBegin)は、文字列から対象文字配列にコピーする。 int hashCodeは、この文字列のハッシュコードを返します。 int indexOf(int ch)は、この文字列の最初の出現における索引を返す。がない場合は-1 int indexOfを返します。指定された索引から検索を開始します。int indexOfは、指定されたサブ文字列のこの文字列の最初の出現におけるインデックスを返します。int indexOf(String str,int from Index)は、指定されたサブ文字列のこの文字列の最初の出現におけるインデックスを返し、指定された索引から開始します。int lastIndexOf(int ch)は、指定文字列の最後の出現箇所の索引を返します。int lastIndexOf(int ch,int from Index)は、指定文字列の最後の出現箇所のインデックスを返し、指定された索引から逆検索を開始します。int lastIndexOfは、指定されたサブ文字列のこの文字列の一番右にあるインデックスを返します。int lastIndexOfは、指定された索引から逆方向に検索するサブ文字列を返します。 intレングス()は、この文字列の長さを返します。 bootlean matchesは、この文字列が与えられた正規表現と一致するかどうかを通知する。 String replace(char oldChar、char newChar)は新しい文字列を返します。この文字列に現れるすべてのoldCharをnewCharで置換することによって得られました。String replace(CharSequence target,CharSequence replace ment)は、指定されたワード値を使ってシーケンスを置換し、この文字列のすべてのマッチするワード値の対象シーケンスのサブ文字列を置換します。String replace All(String regex,String replaccement)は、与えられたreplace mentを使用して、この文字列が与えられた正規表現にマッチするすべてのサブ文字列を置換します。 String[]split(String regex)は、与えられた正規表現のマッチングに基づいてこの文字列を分割します。String[]splitは、与えられた正規表現にマッチすることによって、この文字列を分割します。 String substringは新しい文字列を返します。この文字列のサブ文字列です。String substringは新しい文字列を返します。この文字列のサブ文字列です。 char[]toCharAray()はこの文字列を新しい文字配列に変換します。 String towerCase()は、デフォルトの言語環境のルールを使用して、このStringのすべての文字を小文字に変換する。String to LowerCaseは、与えられたLocaleのルールを使用して、このStringのすべての文字を小文字に変換します。String toUpperCase()は、デフォルトの言語環境のルールを使用して、このStringのすべての文字を大文字に変換します。String toUpperCase(Locale locale)は、所定のLocallを使用して、このStringのすべての文字を大文字 に変換する。 String toString()は、このオブジェクト自体に戻る。 public class StrigOpera{
2.StringBuffer
データを格納するためのコンテナ。文字列バッファに似ていますが、池は変更できません。しかし、「内容」は方法によって修正できます。一番主要な二つの方法はappedとinsert方法の特徴です。長さは可変です。異なるタイプのデータを記憶することができます。最後に文字列に変換して使用します。文字列を変更できます。
スレッドの安全な可変文字列。Stringに似た文字列バッファがありますが、変更はできません。任意の時点では特定の文字列が含まれていますが、いくつかの方法で呼び出して、シーケンスの長さと内容を変更することができます。 StringBuffer apendを追加しました。テールにはSteringBuffer insert(index,data)を追加します。未知の挿入eg:StringBuffer sb=new StringBuffer(abc);sb.apped(「de」)//印刷sbはabcde である。 StringBuffer deleteを削除する:指定された位置の要素eg:s b.delete(0,sb.length); StringBuffer replaceを変更します。void set CharAt(index,char) チャチャチャチャアート(index);int indexOf(string) 3.StringBuider
機能はStringBuiderとほぼ同じですが、スレッドがないため、1.5バージョンから効率を上げるために、シングルスレッドではできるだけStringBuiderを使用します。
public static void main(String[] args)
{
String[] str1 = { "NBA", "ABC", "Mike", "NBA", "NG", "OK", "NBA" };
stringSort(str1);
stringPrint(str1);
String str2 = "jhabchjabckokabc";
System.out.println(substringCount(str2, "abc"));
String strA = "tryyufgasdkjkabcdeijr";
String strB = "asdabcde";
String com = maxCommon(strA, strB);
System.out.println(com);
}
//
public static String maxCommon(String stringA, String stringB)
{
String strMax = null, strMin = null;
//
if (stringA.length() >= stringB.length())
{
strMax = stringA;
strMin = stringB;
} else
{
strMax = stringB;
strMin = stringA;
}
//
for (int i = 0; i < strMin.length(); i++)
for (int j = 0, l = strMin.length() - i; l != strMin.length() + 1; j++, l++)
{
String com = strMin.substring(j, l);
if (strMax.contains(com))
return com;
}
return null;
}
//
public static void stringPrint(String[] str1)
{
for (int i = 0; i < str1.length; i++)
System.out.print(str1[i] + " ");
}
//
public static void stringSort(String[] string)
{
for (int i = 0; i < string.length - 1; i++)
for (int j = i + 1; j < string.length; j++)
if (string[i].compareTo(string[j]) > 0)
StringOpera.swap(string, i, j);
}
//
public static int substringCount(String str2, String substring)
{
int count = 0;
for (int index = 0; index < str2.length(); index++)
if ((index = str2.indexOf(substring, index)) != -1)
{
index = index + substring.length();
count = count + 1;
}
return count;
}
//
public static void swap(String[] strArry, int i, int j)
{
String temp = strArry[i];
strArry[i] = strArry[j];
strArry[j] = temp;
}
)2.StringBuffer
データを格納するためのコンテナ。文字列バッファに似ていますが、池は変更できません。しかし、「内容」は方法によって修正できます。一番主要な二つの方法はappedとinsert方法の特徴です。長さは可変です。異なるタイプのデータを記憶することができます。最後に文字列に変換して使用します。文字列を変更できます。
スレッドの安全な可変文字列。Stringに似た文字列バッファがありますが、変更はできません。任意の時点では特定の文字列が含まれていますが、いくつかの方法で呼び出して、シーケンスの長さと内容を変更することができます。
機能はStringBuiderとほぼ同じですが、スレッドがないため、1.5バージョンから効率を上げるために、シングルスレッドではできるだけStringBuiderを使用します。