com.JRcServer.util
クラス SString

java.lang.Object
  上位を拡張 com.JRcServer.util.SString
すべての実装されたインタフェース:
java.lang.Comparable

public final class SString
extends java.lang.Object
implements java.lang.Comparable

シングル文字列オブジェクト.

文字列を扱うオブジェクトを生成します.
このオブジェクトは通常の文字列オブジェクト(java.lang.String)とは 違い、生成された1つのインスタンスで処理します.
また使い方は基本的にはStringと殆ど同じですが、以下の場合は利用出来ません.

 [NG]
 SString a = "abc" ;

 [OK]
 SString a = new SString( "abc" ) ;
 

導入されたバージョン:
JDK 1.3
バージョン:
1.00, 2005/03/08
作成者:
Masahito Suzuki

コンストラクタの概要
SString()
          コンストラクタ.
SString(byte[] binary)
          コンストラクタ.
SString(byte[] binary, int off, int len, java.lang.String charset)
          コンストラクタ.
SString(byte[] binary, java.lang.String charset)
          コンストラクタ.
SString(char[] chr)
          コンストラクタ.
SString(char[] chr, int off, int len)
          コンストラクタ.
SString(java.lang.String s)
          コンストラクタ.
SString(java.lang.StringBuffer buf)
          コンストラクタ.
 
メソッドの概要
 char charAt(int index)
          指定されたインデックス位置にある文字を返します.
 void clear()
          情報クリア.
 int compareTo(java.lang.Object o)
          この String をほかの Object と比較します。
 int compareTo(java.lang.String anotherString)
          2 つの文字列を辞書式に比較します。
 int compareToIgnoreCase(java.lang.String str)
          大文字小文字の区別なしで、2 つの文字列を辞書式に比較します.
 java.lang.String concat(java.lang.String str)
          指定された文字列をこの文字列の最後に連結します.
 void create(byte[] binary)
          情報生成.
 void create(byte[] binary, int off, int len, java.lang.String charset)
          情報生成.
 void create(byte[] binary, java.lang.String charset)
          情報生成.
 void create(char[] chr)
          情報生成.
 void create(char[] chr, int off, int len)
          情報生成.
 void create(java.lang.String s)
          情報生成.
 void create(java.lang.StringBuffer buf)
          情報生成.
 boolean endsWith(java.lang.String suffix)
          この文字列が、指定された接尾辞で終るかどうかを判定します.
 boolean equals(java.lang.Object anObject)
          この文字列と指定されたオブジェクトを比較します。
 boolean equalsIgnoreCase(java.lang.String anotherString)
          この String とほかの String を比較します。
 byte[] getBytes()
          String をプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換し、 結果を新しいバイト配列に格納します.
 byte[] getBytes(java.lang.String enc)
          String を指定された文字エンコーディングに従ってバイトに変換し、 結果を新しいバイト配列に格納します.
 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
          この文字列から、コピー先の文字配列に文字をコピーします.
 int hashCode()
          この文字列のハッシュコードを返します.
 int indexOf(int ch)
          この文字列内で、指定された文字が最初に出現する位置のインデックスを返します.
 int indexOf(int ch, int fromIndex)
          この文字列内で、指定されたインデックスから検索を開始し、指定された文字が最初に出現する 位置のインデックスを返します.
 int indexOf(java.lang.String str)
          この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します.
 int indexOf(java.lang.String str, int fromIndex)
          指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置の インデックスを返します。
 java.lang.String intern()
          文字列オブジェクトの正準表現を返します.
 int lastIndexOf(int ch)
          この文字列内で、指定された文字が最後に出現する位置のインデックスを返します.
 int lastIndexOf(int ch, int fromIndex)
          この文字列内で、指定された文字が最後に出現する位置のインデックスを返します (検索は指定されたインデックスから開始され、先頭方向に行われる).
 int lastIndexOf(java.lang.String str)
          この文字列内で、指定された部分文字列が一番右に出現する位置のインデックスを返します.
 int lastIndexOf(java.lang.String str, int fromIndex)
          この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します.
 int length()
          この文字列の長さを返します。
static int[] pausePoint(boolean mode, boolean coteFlg, SString str, java.lang.String cc)
          区切り条件ポイントを取得.
static int[] pausePoint(boolean mode, SString str, java.lang.String cc)
          区切り条件ポイントを取得.
static int pauseSize(int[] points)
          区切り条件数を取得.
static java.lang.String pauseString(SString str, int[] points, int no)
          区切り条件文字情報を取得.
 boolean regionMatches(boolean ignoreCase, int toffset, java.lang.String other, int ooffset, int len)
          2 つの文字列領域が等しいかどうかを判定します.
 boolean regionMatches(int toffset, java.lang.String other, int ooffset, int len)
          2 つの文字列領域が等しいかどうかを判定します.
 java.lang.String replace(char oldChar, char newChar)
          この文字列内にあるすべての oldChar を newChar に置換した結果生成される、新しい文字列を返します.
 boolean startsWith(java.lang.String prefix)
          この文字列が、指定された接頭辞で始まるかどうかを判定します.
 boolean startsWith(java.lang.String prefix, int toffset)
          この文字列の指定されたインデックス以降の部分文字列が、指定された接頭辞で始まるかどうかを判定します.
 java.lang.String substring(int beginIndex)
          この文字列の部分文字列である新しい文字列を返します。
 java.lang.String substring(int beginIndex, int endIndex)
          この文字列の部分文字列である新しい文字列を返します.部分文字列は、 指定された beginIndex から始まり、インデックス endIndex - 1 にある文字までです.
 char[] toCharArray()
          この文字列を新しい文字配列に変換します.
 java.lang.String toLowerCase()
          Locale.getDefault によって返されるデフォルトロケールの規則を使って、この String 内の すべての文字を小文字に変換します.
 java.lang.String toLowerCase(java.util.Locale locale)
          指定された Locale の規則を使用して、この String 内のすべての文字を小文字に変換します.
 java.lang.String toString()
          このオブジェクト (すでに文字列である) 自身が返されます.
 java.lang.String toUpperCase()
          Locale.getDefault によって返されるデフォルトロケールの規則を使って、この String 内の すべての文字を大文字に変換します.
 java.lang.String toUpperCase(java.util.Locale locale)
          指定されたロケールの規則を使用して、この String 内のすべての文字を大文字に変換します.
 java.lang.String trim()
          この文字列の両端から空白を除去します.
 
クラス java.lang.Object から継承されたメソッド
getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

SString

public SString()
コンストラクタ.


SString

public SString(java.lang.String s)
コンストラクタ.

情報を生成します.

パラメータ:
s - 新しい条件を設定します.

SString

public SString(byte[] binary)
コンストラクタ.

情報を生成します.

パラメータ:
binary - 対象のバイナリ条件を設定します.

SString

public SString(byte[] binary,
               java.lang.String charset)
        throws java.io.UnsupportedEncodingException
コンストラクタ.

情報を生成します.

パラメータ:
binary - 対象のバイナリ条件を設定します.
charset - 対象のキャラクターセットを設定します.
例外:
java.io.UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合.

SString

public SString(byte[] binary,
               int off,
               int len,
               java.lang.String charset)
        throws java.io.UnsupportedEncodingException
コンストラクタ.

情報を生成します.

パラメータ:
binary - 対象のバイナリ条件を設定します.
off - 対象のオフセット値を設定します.
len - 対象の情報長を設定します.
charset - 対象のキャラクターセットを設定します.
例外:
java.io.UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合.

SString

public SString(char[] chr)
コンストラクタ.

情報を生成します.

パラメータ:
chr - 対象のキャラクター配列を設定します.

SString

public SString(char[] chr,
               int off,
               int len)
コンストラクタ.

情報を生成します.

パラメータ:
chr - 対象のキャラクター配列を設定します.
off - 対象のオフセット値を設定します.
len - 対象の情報長を設定します.

SString

public SString(java.lang.StringBuffer buf)
コンストラクタ.

情報を生成します.

パラメータ:
buf - 対象のStringBufferを設定します.
メソッドの詳細

create

public final void create(java.lang.String s)
情報生成.

情報を生成します.

パラメータ:
s - 新しい条件を設定します.

create

public final void create(byte[] binary)
情報生成.

情報を生成します.

パラメータ:
binary - 対象のバイナリ条件を設定します.

create

public final void create(byte[] binary,
                         java.lang.String charset)
                  throws java.io.UnsupportedEncodingException
情報生成.

情報を生成します.

パラメータ:
binary - 対象のバイナリ条件を設定します.
charset - 対象のキャラクターセットを設定します.
例外:
java.io.UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合.

create

public final void create(byte[] binary,
                         int off,
                         int len,
                         java.lang.String charset)
                  throws java.io.UnsupportedEncodingException
情報生成.

情報を生成します.

パラメータ:
binary - 対象のバイナリ条件を設定します.
off - 対象のオフセット値を設定します.
len - 対象の情報長を設定します.
charset - 対象のキャラクターセットを設定します.
例外:
java.io.UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合.

create

public final void create(char[] chr)
情報生成.

情報を生成します.

パラメータ:
chr - 対象のキャラクター配列を設定します.

create

public final void create(char[] chr,
                         int off,
                         int len)
情報生成.

情報を生成します.

パラメータ:
chr - 対象のキャラクター配列を設定します.
off - 対象のオフセット値を設定します.
len - 対象の情報長を設定します.

create

public final void create(java.lang.StringBuffer buf)
情報生成.

情報を生成します.

パラメータ:
buf - 対象のStringBufferを設定します.

clear

public final void clear()
情報クリア.

情報をクリアします.


length

public final int length()
この文字列の長さを返します。長さは文字列内の 16 ビット Unicode 文字の数に等しくなります.

戻り値:
このオブジェクトによって表される文字シーケンスの長さ.

charAt

public final char charAt(int index)
指定されたインデックス位置にある文字を返します.

インデックスは、0 〜 length() - 1 の範囲になります. 配列のインデックス付けの場合と同じように、文字列の最初の文字の インデックスは 0、次の文字のインデックスは 1 と続きます.

パラメータ:
index - 文字のインデックス.
戻り値:
文字列内の指定されたインデックス位置にある文字. 最初の文字のインデックスが 0 になる.
例外:
java.lang.IndexOutOfBoundsException - index 引数が負の値、または文字列の長さと 同じかこれより大きい値の場合.

getChars

public final void getChars(int srcBegin,
                           int srcEnd,
                           char[] dst,
                           int dstBegin)
この文字列から、コピー先の文字配列に文字をコピーします.

コピーされる最初の文字のインデックスは srcBegin、コピーされる最後の文字の インデックスは srcEnd-1 です. したがって、コピーされる文字数は srcEnd-srcBegin となります. 文字は dst の部分配列にコピーされます. 始点のインデックスは dstBegin で、終点のインデックスは次のようになります.

dstbegin + (srcEnd-srcBegin) - 1

パラメータ:
srcBegin - - コピー対象文字列内の最初の文字のインデックス.
srcEnd - - コピー対象文字列内の最後の文字のあとのインデックス.
dst - - コピー先配列.
dstBegin - - コピー先の配列内での開始オフセット.
例外:
java.lang.IndexOutOfBoundsException - - 次のどれかの場合.
srcBegin が負の値の場合.
srcBegin が srcEnd より大きい場合.
srcEnd がこの文字列の長さより大きい場合.
dstBegin が負の値の場合.
dstBegin+(srcEnd-srcBegin) の値が dst.length
より大きい場合.
java.lang.NullPointerException - dst が null の場合.

getBytes

public final byte[] getBytes(java.lang.String enc)
                      throws java.io.UnsupportedEncodingException
String を指定された文字エンコーディングに従ってバイトに変換し、 結果を新しいバイト配列に格納します.

パラメータ:
enc - サポートされる「文字エンコーディング」の名前.
例外:
java.io.UnsupportedEncodingException - 指定された文字エンコーディングが サポートされていない場合.

getBytes

public final byte[] getBytes()
String をプラットフォームのデフォルトの文字エンコーディングに従ってバイトに変換し、 結果を新しいバイト配列に格納します.

戻り値:
結果のバイト配列.

equals

public final boolean equals(java.lang.Object anObject)
この文字列と指定されたオブジェクトを比較します。引数が null でなく、 このオブジェクトと同じ文字シーケンスを表す String オブジェクトである 場合にだけ、結果は true になります.

オーバーライド:
クラス java.lang.Object 内の equals
パラメータ:
anObject - この String と比較されるオブジェクト.
戻り値:
String が等しい場合は true、そうでない場合は false.

equalsIgnoreCase

public final boolean equalsIgnoreCase(java.lang.String anotherString)
この String とほかの String を比較します。大文字小文字は区別されません. 長さが同じで、2 つの文字列内の対応する文字が大文字小文字の区別なしで等しい場合、 2 つの文字列は大文字小文字の区別なしで等しいと見なされます.
次のどれかに該当する場合に、c1 と c2 という 2 つの文字は大文字小文字の区別なしで等しいと見なされます.
2 つの文字が等しい (== 演算子による比較)
Character.toUpperCase(char) メソッドをそれぞれの文字に適用すると同じ結果になる.
Character.toLowerCase(char) メソッドをそれぞれの文字に適用すると同じ結果になる.

パラメータ:
anotherString - この String と比較される String.
戻り値:
引数が null でなく String が等しい場合は true、そうでない場合は false.

compareTo

public final int compareTo(java.lang.String anotherString)
2 つの文字列を辞書式に比較します。比較は文字列内のそれぞれの文字の Unicode 値に基づいて行われます。この String オブジェクトによって表される 文字シーケンスが、引数文字列によって表される文字シーケンスと辞書式に比較されます. この String オブジェクトが辞書式に引数文字列より前にある場合は、結果は負の整数になります. この String オブジェクトが辞書式に引数文字列の後ろにある場合、結果は正の整数になります. 文字列が等しい場合、結果は 0 になります。equals(Object) メソッドが true を返すとき、 compareTo は 0 を返します.
辞書式の順序の定義を示します。2 つの文字列が異なる場合、両方の文字列に対して有効な インデックスに位置する文字が異なるか、2 つの文字列の長さが異なるか、あるいはその両方が 該当します.1 つ以上のインデックスの位置にある文字が異なる場合は、このうちのもっとも 小さいインデックスを k とすると、演算子によって「より小さい」値と判定される、 位置 k にある文字を持つ文字列が、もう一方の文字列より辞書式に前になります. この場合、compareTo は 2 つの文字列で位置 k にある 2 つの文字の値の差を返します. これは次の式で表される値になります.

this.charAt(k)-anotherString.charAt(k)
有効なすべてのインデックス位置における文字が同じ場合は、短いほうの文字列が辞書式に 前になります.この場合は、compareTo は文字列の長さの差を返します.これは次の式で表される 値になります.

this.length()-anotherString.length()

パラメータ:
anotherString - 比較対象の String.
戻り値:
引数文字列がこの文字列に等しい場合は、値 0。この文字列が文字列引数より辞書式に 小さい場合は、0 より小さい値。この文字列が文字列引数より辞書式に大きい場合は、0 より大きい値
例外:
java.lang.NullPointerException - anotherString が null の場合

compareTo

public final int compareTo(java.lang.Object o)
この String をほかの Object と比較します。Object が String の場合、 この関数は compareTo(String) と同じ動作になります.そうでない場合は ClassCastException をスローします (String の比較は String 同士でしか行えないため).

定義:
インタフェース java.lang.Comparable 内の compareTo
パラメータ:
o - 比較対象の Object.
戻り値:
引数文字列がこの文字列と辞書式に等しい場合は、値 0. 引数がこの文字列より辞書式に大きい文字列である場合は、0 より小さい値. 引数がこの文字列より辞書式に小さい場合は、0 より大きい値.
例外:
java.lang.ClassCastException - 引数が String ではない場合.

compareToIgnoreCase

public final int compareToIgnoreCase(java.lang.String str)
大文字小文字の区別なしで、2 つの文字列を辞書式に比較します. このメソッドは、this.toUpperCase().toLowerCase().compareTo(str.toUpperCase().toLowerCase()) の符号を持つ整数を返します.

このメソッドはロケールを考慮しないので、一部のロケールでは、正しい順序に並べられないことが あります.java.text パッケージは、ロケールに依存する並べ替えを 行うために「コレータ」を提供しています.

パラメータ:
str - - 比較対象の String.
戻り値:
大文字小文字の区別なしで、指定された String がこの String より大きい場合は 負の整数、同じ場合は 0、小さい場合は正の整数.

regionMatches

public final boolean regionMatches(int toffset,
                                   java.lang.String other,
                                   int ooffset,
                                   int len)
2 つの文字列領域が等しいかどうかを判定します.

この String オブジェクトの部分文字列が、引数 other の部分文字列と比較されます. これらの部分文字列が同じ文字シーケンスを表す場合、結果は true になります. この比較対象 String オブジェクトの部分文字列は、インデックス toffset から始まり、長さは len です. 比較の対象となる other の部分文字列はインデックス ooffset から始まり、長さは len です. 以下のどれかに該当する場合にだけ、結果は false になります.

toffset が負の場合.
ooffset が負の場合.
toffset+len がこの String オブジェクトの長さより大きい.
ooffset+len が引数 other の長さより大きい.
len より小さく、負でない、次のような整数 k がある this.charAt(toffset+k) != other.charAt(ooffset+k)

パラメータ:
toffset - この文字列内の部分領域の開始オフセット.
other - 文字列引数.
ooffset - 文字列引数内の部分領域の開始オフセット.
len - 比較対象の文字数.
戻り値:
この文字列の指定された部分領域が文字列引数の指定された部分領域と完全に 一致する場合は true、そうでない場合は false.
例外:
java.lang.NullPointerException - other が null の場合.

regionMatches

public final boolean regionMatches(boolean ignoreCase,
                                   int toffset,
                                   java.lang.String other,
                                   int ooffset,
                                   int len)
2 つの文字列領域が等しいかどうかを判定します.

この String オブジェクトの部分文字列が、引数 other の部分文字列と比較されます. これらの部分文字列が同じ文字シーケンスを表す場合、結果は true になります。ignoreCase が true の場合にだけ、大文字小文字が区別されません. 比較の対象となる String オブジェクトの部分文字列は、インデックス toffset から始まり、 長さは len です. 比較の対象となる other の部分文字列は、インデックス ooffset から始まり、長さは len です. 以下のどれかに該当する場合にだけ、結果は false になります.

toffset が負の場合
ooffset が負の場合
toffset+len がこの String オブジェクトの長さより大きい
ooffset+len が引数 other の長さより大きい len より小さく、負でない、次のような整数 k がある
this.charAt(toffset+k) != other.charAt(ooffset+k)
ignoreCase が true であり、len より小さく、負でない、次のような整数 k がある
Character.toLowerCase(this.charAt(toffset+k)) != Character.toLowerCase(other.charAt(ooffset+k))
および
Character.toUpperCase(this.charAt(toffset+k)) != Character.toUpperCase(other.charAt(ooffset+k))

パラメータ:
ignoreCase - true の場合、文字の比較の際に大文字小文字は区別されない.
toffset - この文字列内の部分領域の開始オフセット.
other - 文字列引数.
ooffset - 文字列引数内の部分領域の開始オフセット.
len - 比較対象の文字数.
戻り値:
この文字列の指定された部分領域が文字列引数の指定された部分領域と一致する場合は true、 そうでない場合は false。一致した場合に、大文字小文字が区別されているかどうかは引数 ignoreCase によって決まる.

startsWith

public final boolean startsWith(java.lang.String prefix,
                                int toffset)
この文字列の指定されたインデックス以降の部分文字列が、指定された接頭辞で始まるかどうかを判定します.

パラメータ:
prefix - 接頭辞.
toffset - 文字列の比較を開始する位置.
戻り値:
引数によって表される文字列が、インデックス toffset で始まるこのオブジェクトの部分文字列の 接頭辞である場合は true、そうでない場合は false. toffset が負の値の場合、あるいは String オブジェクトの長さより大きい場合、結果は false. そうでない場合は、結果は

this.subString(toffset).startsWith(prefix)の式の結果と同じ.
例外:
java.lang.NullPointerException - prefix が null の場合.

startsWith

public final boolean startsWith(java.lang.String prefix)
この文字列が、指定された接頭辞で始まるかどうかを判定します.

パラメータ:
prefix - 接頭辞.
戻り値:
引数によって表される文字列が、この文字列によって表される文字列の接頭辞で ある場合は true、そうでない場合は false. 引数が空の文字列の場合や、equals(Object) メソッドによる判定においてこの String オブジェクトに等しい場合にも true が返される.
例外:
java.lang.NullPointerException - prefix が null の場合.

endsWith

public final boolean endsWith(java.lang.String suffix)
この文字列が、指定された接尾辞で終るかどうかを判定します.

パラメータ:
suffix - 接尾辞.
戻り値:
引数によって表される文字シーケンスが、このオブジェクトによって表される 文字シーケンスの接尾辞である場合は true、そうでない場合は false. 引数が空の文字列の場合や、String オブジェクトが equals(Object) メソッドによる 判定においてこの String オブジェクトに等しい場合にも、結果は true になる.
例外:
java.lang.NullPointerException - suffix が null の場合.

hashCode

public final int hashCode()
この文字列のハッシュコードを返します.

String オブジェクトのハッシュコードは、int 演算を使用して次のようにして計算されます.
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
int 算術を使います。s[i] は文字列の i 番目の文字、n は文字列の長さ、^はべき乗を示します. 空の文字列のハッシュ値は 0 です.

オーバーライド:
クラス java.lang.Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値.

indexOf

public final int indexOf(int ch)
この文字列内で、指定された文字が最初に出現する位置のインデックスを返します.

値 ch を持つ文字がこの String オブジェクトによって表される文字シーケンス内にある場合、 最初に出現する位置のインデックスが返されます. つまり、次の式が true となるような最小の k が返されます.
this.charAt(k) == ch
該当する文字がこの文字列内にない場合は、-1 が返されます.

パラメータ:
ch - 文字.
戻り値:
このオブジェクトによって表される文字シーケンス内で、 指定された文字が最初に出現する位置のインデックス. 文字がない場合は -1.

indexOf

public final int indexOf(int ch,
                         int fromIndex)
この文字列内で、指定されたインデックスから検索を開始し、指定された文字が最初に出現する 位置のインデックスを返します.

値 ch を持つ文字が、この String オブジェクトによって表される文字シーケンスの fromIndex より大きいか同じインデックス位置にある場合、該当する最初のインデックスが返されます. つまり、次の式が true となるような最小の k が返されます.
(this.charAt(k) == ch) && (k >= fromIndex)
該当する文字がこの文字列内または位置 fromIndex 以降にない場合は -1 が返されます.

fromIndex の値に対して制約はありません. 負の値の場合は、0 の場合と同じ結果になり、この文字列全体が検索されます. この文字列の長さより大きい場合は、この文字列の長さに等しい場合と同じ結果になり、-1 が返されます.

パラメータ:
ch - 文字.
fromIndex - 検索開始位置のインデックス.
戻り値:
このオブジェクトによって表される文字列で、指定された文字が fromIndex と同じか これより大きいインデックス位置にある場合は、最初に出現した位置のインデックス. 文字がない場合は -1.

lastIndexOf

public final int lastIndexOf(int ch)
この文字列内で、指定された文字が最後に出現する位置のインデックスを返します.

つまり、返されるインデックスは、次の式が true となるような最大の k です.
this.charAt(k) == ch
String の検索は最後の文字から開始され、先頭方向に行われます.

パラメータ:
ch - 文字.
戻り値:
このオブジェクトによって表される文字シーケンス内で、指定された文字が最後に 出現する位置のインデックス. 文字がない場合は -1.

lastIndexOf

public final int lastIndexOf(int ch,
                             int fromIndex)
この文字列内で、指定された文字が最後に出現する位置のインデックスを返します (検索は指定されたインデックスから開始され、先頭方向に行われる).
つまり、返されるインデックスは、
this.charAt(k) == ch) && (k <= fromIndex)
が true となるような最大の k です.

パラメータ:
ch - 文字.
fromIndex - 検索を開始するインデックス. fromIndex の値に対して制約はない. この文字列の長さと同じかこれより大きい場合は、この文字列の長さより 1 小さい場合と同じ 結果になり、この文字列全体が検索される. 負の値の場合は、-1 の場合と同じ結果になり、-1 が返される.
戻り値:
このオブジェクトによって表される文字シーケンス内で、指定された文字が fromIndex と同じかこれより小さいインデックス位置に最後に出現する位置のインデックス. 指定された文字がその位置より前にない場合は -1.

indexOf

public final int indexOf(java.lang.String str)
この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します. 返される整数は、
this.startsWith(str, k)
上の式が true となるような最小の k です.

パラメータ:
str - 任意の文字列.
戻り値:
文字列引数がこのオブジェクト内の部分文字列である場合は、該当する最初の部分文字列の 最初の文字のインデックス. 部分文字列がない場合は -1.
例外:
java.lang.NullPointerException - str が null の場合.

indexOf

public final int indexOf(java.lang.String str,
                         int fromIndex)
指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置の インデックスを返します。返される整数は、
this.startsWith(str, k) && (k >= fromIndex)
上の式が true となるような最小の k です. fromIndex の値に対して制約はありません。負の値の場合は、0 の場合と同じ結果になり、 この文字列全体が検索されます.この文字列の長さより大きい場合は、この文字列の長さに等しい 場合と同じ結果になり、-1 が返されます.

パラメータ:
str - 検索対象の部分文字列
fromIndex - 検索開始位置のインデックス
戻り値:
文字列引数がこのオブジェクト内の fromIndex より大きい開始インデックスにある 部分文字列である場合は、該当する最初の部分文字列の最初の文字のインデックス. fromIndex 以降で始まる部分文字列がない場合は -1.
例外:
java.lang.NullPointerException - str が null の場合.

lastIndexOf

public final int lastIndexOf(java.lang.String str)
この文字列内で、指定された部分文字列が一番右に出現する位置のインデックスを返します. 空の文字列 "" の一番右に出現した位置が、this.length() と見なされます. 返されるインデックスは、
this.startsWith(str, k)
上の式が true となるような最大の k です.

パラメータ:
str - 検索対象の部分文字列.
戻り値:
文字列引数がこのオブジェクト内の部分文字列として 1 回以上出現する場合は、該当する 最後の部分文字列の最初の文字のインデックス. 部分文字列として出現しない場合は、-1.
例外:
java.lang.NullPointerException - str が null の場合.

lastIndexOf

public final int lastIndexOf(java.lang.String str,
                             int fromIndex)
この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します. 返されたインデックスは部分文字列の先頭を表し、fromIndex と同じか、それより小さい値である 必要があります.つまり、返されるインデックスは、次の式に該当する最大の k です.
this.startsWith(str, k) && (k <= fromIndex)

パラメータ:
str - 検索対象の部分文字列
fromIndex - 検索開始位置のインデックス. fromIndex の値に対して制約はありません. この文字列の長さより大きい場合は、この文字列の長さに等しい場合と同じ結果になり、 この文字列全体が検索される. 負の値の場合は、-1 の場合と同じ結果になり、-1 が返される
戻り値:
文字列引数が、このオブジェクト内で fromIndex と等しいかそれより小さいインデックスから 始まる部分文字列として 1 回以上出現する場合は、該当する最後の部分文字列の最初の文字のインデックス. fromIndex またはそれ以前で始まる部分文字列として出現しない場合は、-1.
例外:
java.lang.NullPointerException - str が null の場合.

substring

public final java.lang.String substring(int beginIndex)
この文字列の部分文字列である新しい文字列を返します。部分文字列は指定されたインデックスで始まり、 この文字列の最後までになります.

"unhappy".substring(2) では "happy" が返される.
"Harbison".substring(3) では "bison" が返される.
"emptiness".substring(9) では "" (空の文字列) が返される.

パラメータ:
beginIndex - 開始インデックス (この値を含む).
戻り値:
指定された部分文字列.
例外:
java.lang.IndexOutOfBoundsException - beginIndex が負の値の場合、あるいはこの String オブジェクトの長さより大きい場合.

substring

public final java.lang.String substring(int beginIndex,
                                        int endIndex)
この文字列の部分文字列である新しい文字列を返します.部分文字列は、 指定された beginIndex から始まり、インデックス endIndex - 1 にある文字までです. したがって、部分文字列の長さは endIndex-beginIndex になります.

"hamburger".substring(4, 8) では "urge" が返される.
"smiles".substring(1, 5) では "mile" が返される.

パラメータ:
beginIndex - 開始インデックス (この値を含む).
endIndex - 終了インデックス (この値を含まない).
戻り値:
指定された部分文字列.
例外:
java.lang.IndexOutOfBoundsException - beginIndex が負の値である場合、endIndex がこの String オブジェクトの長さより大きい場合、あるいは beginIndex が endIndex より大きい場合.

concat

public final java.lang.String concat(java.lang.String str)
指定された文字列をこの文字列の最後に連結します.

引数文字列の長さが 0 の場合は、この String オブジェクトが返されます. そうでない場合は、この String オブジェクトによって表される文字列と引数文字列によって表される 文字列とを連結したものを表す新しい String オブジェクトが生成されます.

"cares".concat("s") では "caress" が返される.
"to".concat("get").concat("her") では "together" が返される.

パラメータ:
str - この String の最後に連結される String.
戻り値:
このオブジェクトの文字列の後に文字列引数で表される文字を連結したものを表す文字列.
例外:
java.lang.NullPointerException - str が null の場合.

replace

public final java.lang.String replace(char oldChar,
                                      char newChar)
この文字列内にあるすべての oldChar を newChar に置換した結果生成される、新しい文字列を返します.

文字 oldChar がこの String オブジェクトによって表される文字列内にない場合は、この String オブジェクトへの参照が返されます. そうでない場合は、この String オブジェクトによって表される文字列と同じ文字列を表す、 新しい String オブジェクトが生成されます.ただし、文字列内の oldChar はすべて newChar に置換されます.

"mesquite in your cellar".replace('e', 'o') では
"mosquito in your collar" が返される.
"the war of baronets".replace('r', 'y') では
"the way of bayonets" が返される.
"sparring with a purple porpoise".replace('p', 't') では
"starring with a turtle tortoise" が返される.
"JonL".replace('q', 'x') では "JonL" (変更なし) が返される.

パラメータ:
oldChar - 以前の文字.
newChar - 新しい文字.
戻り値:
この文字列内のすべての oldChar を newChar に置換することによって生成された文字列.

toLowerCase

public final java.lang.String toLowerCase(java.util.Locale locale)
指定された Locale の規則を使用して、この String 内のすべての文字を小文字に変換します. 通常、文字の変換は Character.toLowerCase を呼び出すことによって行われます.

パラメータ:
locale - このロケールの大文字小文字変換規則を使用する.
戻り値:
小文字に変換される String.

toLowerCase

public final java.lang.String toLowerCase()
Locale.getDefault によって返されるデフォルトロケールの規則を使って、この String 内の すべての文字を小文字に変換します.

Character によって定義されている toLowerCase メソッドの呼び出しの結果、異なるバージョンの 小文字を持つ文字が文字列内になかった場合は、元の文字列が返されます.
そうでない場合は、この String オブジェクトによって表される文字列と長さが同じで、 この String オブジェクトの対応する文字に Character.toLowerCase メソッドを適用した結果と すべての文字が等しい文字列を表す、新しい String オブジェクトが生成されます.

戻り値:
小文字に変換された文字列.

toUpperCase

public final java.lang.String toUpperCase(java.util.Locale locale)
指定されたロケールの規則を使用して、この String 内のすべての文字を大文字に変換します. 通常、文字の変換は Character.toUpperCase を呼び出すことによって行われます.

パラメータ:
locale - このロケールの大文字小文字変換規則を使用する.
戻り値:
大文字に変換された String.

toUpperCase

public final java.lang.String toUpperCase()
Locale.getDefault によって返されるデフォルトロケールの規則を使って、この String 内の すべての文字を大文字に変換します.

Character によって定義されている toUpperCase メソッドの呼び出しの結果、異なるバージョンの 大文字を持つ文字が文字列内になかった場合は、元の文字列が返されます.
そうでない場合は、この String オブジェクトによって表される文字列と長さが同じで、この String オブジェクトの対応する文字に Character.toUpperCase メソッドを適用した結果とすべての文字が 等しい文字列を表す、新しい String オブジェクトが生成されます.

"Fahrvergn?gen".toUpperCase() では "FAHRVERGN?GEN" が返される.
"Visit Ljubinje!".toUpperCase() では "VISIT LJUBINJE!" が返される.

戻り値:
大文字に変換された文字列.

trim

public final java.lang.String trim()
この文字列の両端から空白を除去します.

この String オブジェクトが空の文字列を表す場合、あるいはこの String オブジェクトによって 表される文字列の最初と最後の文字のコードがいずれも ' ' (スペース文字) より大きい場合は、 この String オブジェクトへの参照が返されます.
文字列内に ' ' より大きいコードの文字がない場合は、空の文字列を表す新しい String オブジェクトが生成されて返されます.
たとえば、k が文字列内の最初の文字のインデックスであり、' ' より大きいコード値を持ち、 m が文字列内の最後の文字のインデックスであり、' ' より大きいコード値を持つ場合は、 インデックス k にある文字で始まり、インデックス m にある文字で終る、この文字列の部分文字列を 表す新しい String オブジェクトが生成されます。つまり、これは this.substring(k, m+1) の結果と同じです.
このメソッドは文字列の先頭と最後から空白を切り取るために使用できます. この場合、実際には、すべての ASCII 制御文字も切り取りられます.

戻り値:
前後の空白が削除されたこの文字列.

toString

public final java.lang.String toString()
このオブジェクト (すでに文字列である) 自身が返されます.

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
文字列自身.

toCharArray

public final char[] toCharArray()
この文字列を新しい文字配列に変換します.

戻り値:
新しく割り当てられた文字配列. 長さはこの文字列の長さと同じで、内容はこの文字列によって表される文字シーケンスが格納されるように 初期化されている.

intern

public final java.lang.String intern()
文字列オブジェクトの正準表現を返します.

文字列のプールは、初期状態では空で、クラス String によってプライベートに保持されます.
intern メソッドが呼び出されたときに、equals(Object) メソッドによってこの String オブジェクトに 等しいと判定される文字列がプールにすでにあった場合は、プール内の該当する文字列が返されます. そうでない場合は、この String オブジェクトがプールに追加され、この String オブジェクトへの 参照が返されます.
このため、任意の 2 つの文字列 s と t においては、s.equals(t) が true の場合にのみ、 s.intern() == t.intern() は true になります.
すべてのリテラル文字列および文字列値定数式が保持されます. 文字列リテラルは、「Java 言語仕様」の 3.10.5 で定義されています.

戻り値:
この文字列と同じ内容だが、一意の文字列のプールからのものであることが 保証されている文字列.

pausePoint

public static final int[] pausePoint(boolean mode,
                                     SString str,
                                     java.lang.String cc)
区切り条件ポイントを取得.

区切られた条件ポイントを取得します.
また、基本的な利用方法として、以下のように行います.
 
 SString str = new SString( "a b c\' d e f g\' hijk" ) ;
 int[] pnts = SString.pausePoint( true,str," " ) ;
 int len = SString.pauseSize( pnts ) ;
 for( int i = 0 ; i < len ; i ++ ){
           System.out.println( "cat:[" + i + "]:(" + SString.pauseString( str,pnts,i ) + ")" ) ;
 }
 
 
このようにすることで、区切られた文字列を取得する事が出来ます.

パラメータ:
mode - 取得モードを設定します.
[true]を設定した場合、コーテーション[",']で囲われた領域は判別しません. [false]を設定した場合、コーテーション[",']で囲われた領域も判別します.
str - 文字列を設定します.
cc - 区切り対象の条件を設定します.
戻り値:
int[] 区切りポイントが返されます.

pausePoint

public static final int[] pausePoint(boolean mode,
                                     boolean coteFlg,
                                     SString str,
                                     java.lang.String cc)
区切り条件ポイントを取得.

区切られた条件ポイントを取得します.
また、基本的な利用方法として、以下のように行います.
 
 SString str = new SString( "a b c\' d e f g\' hijk" ) ;
 int[] pnts = SString.pausePoint( true,str," " ) ;
 int len = SString.pauseSize( pnts ) ;
 for( int i = 0 ; i < len ; i ++ ){
           System.out.println( "cat:[" + i + "]:(" + SString.pauseString( str,pnts,i ) + ")" ) ;
 }
 
 
このようにすることで、区切られた文字列を取得する事が出来ます.

パラメータ:
mode - 取得モードを設定します.
[true]を設定した場合、コーテーション[",']で囲われた領域は判別しません. [false]を設定した場合、コーテーション[",']で囲われた領域も判別します.
coteFlg - コーテーションが入っている場合に、コーテーションを範囲に含むか否かを 設定します.
[true]を設定した場合、コーテーション情報も範囲に含みます.
[false]を設定した場合、コーテーション情報を範囲としません.
str - 文字列を設定します.
cc - 区切り対象の条件を設定します.
戻り値:
int[] 区切りポイントが返されます.

pauseSize

public static final int pauseSize(int[] points)
区切り条件数を取得.

区切り条件数を取得します.
また、基本的な利用方法として、以下のように行います.
 
 SString str = new SString( "a b c\' d e f g\' hijk" ) ;
 int[] pnts = SString.pausePoint( true,str," " ) ;
 int len = SString.pauseSize( pnts ) ;
 for( int i = 0 ; i < len ; i ++ ){
           System.out.println( "cat:[" + i + "]:(" + SString.pauseString( str,pnts,i ) + ")" ) ;
 }
 
 
このようにすることで、区切られた文字列を取得する事が出来ます.

パラメータ:
points - 区切りポイントを設定します.
この情報は[SString#pausePoint()]で取得した値を設定します.
戻り値:
int 区切り条件数が返されます.

pauseString

public static final java.lang.String pauseString(SString str,
                                                 int[] points,
                                                 int no)
区切り条件文字情報を取得.

区切り条件文字情報を取得します.
また、基本的な利用方法として、以下のように行います.
 
 SString str = new SString( "a b c\' d e f g\' hijk" ) ;
 int[] pnts = SString.pausePoint( true,str," " ) ;
 int len = SString.pauseSize( pnts ) ;
 for( int i = 0 ; i < len ; i ++ ){
           System.out.println( "cat:[" + i + "]:(" + SString.pauseString( str,pnts,i ) + ")" ) ;
 }
 
 
このようにすることで、区切られた文字列を取得する事が出来ます.

パラメータ:
str - 文字列を設定します.
points - 区切りポイントを設定します.
この情報は[SString#pausePoint()]で取得した値を設定します.
no - 取得対象の位置を設定します.
戻り値:
String 区切り情報が返されます.