- すべての実装されたインタフェース:
Serializable,Cloneable
MessageFormatは、連結されたメッセージを、言語に依存しない方法で構築するためのものです。 エンド・ユーザー用に表示するメッセージは、この方法で構築してください。
MessageFormatは、1組のオブジェクトをフォーマットし、フォーマットした文字列をパターンの適切な場所に挿入します。
ノート: MessageFormatがほかのFormatクラスと異なる点は、MessageFormatオブジェクトを(getInstanceスタイルのファクトリ・メソッドではなく)そのコンストラクタの1つで作成するということです。 MessageFormatでは、ロケール固有の動作は実装されていないので、ファクトリ・メソッドは必要ありません。 ロケール固有の動作は、提供するパターンおよび挿入された引数に使用するサブフォーマットによって定義されます。
パターンとその解釈
MessageFormatは次のパターンを使用します。
MessageFormatPattern:
String
MessageFormatPattern FormatElement String
FormatElement:
{ ArgumentIndex }
{ ArgumentIndex , FormatType }
{ ArgumentIndex , FormatType , FormatStyle }
FormatType: one of
number date time choice
FormatStyle:
short
medium
long
full
integer
currency
percent
SubformatPattern
String内で1組の単一引用符を使用して、単一引用符を除く任意の文字を囲むことができます。 たとえば、パターン文字列"'{0}'"は、FormatElementではなく、文字列"{0}"を表します。 単一引用符自体を表すには、String全体で単一引用符を2つにする('')必要があります。 たとえば、パターン文字列"'{''}'"は、'{'と'}' (左右の中括弧が引用符で囲まれたもの) ではなく、'{ (引用の開始と左中括弧)、'' (単一引用符)、}' (右中括弧と引用の終了)が連続するものとして解釈され、文字列"{}" ではなく、"{'}"を表します。
SubformatPatternは対応するサブフォーマットで解釈され、サブフォーマットに依存するパターンのルールが適用されます。 たとえば、パターン文字列"{1,number,$'#',##}" (下線付きのSubformatPattern)と指定すると、ハッシュ記号(#)が付いた数値フォーマットが生成されます。結果は、 "$#31,45"のようになります。 詳細は、Formatサブクラスのドキュメントを参照してください。
一致しない引用符は、指定されたパターンの最後で閉じられるものとして処理されます。 たとえば、パターン文字列"'{0}"はパターン"'{0}'"として処理されます。
引用符で囲まれていないパターン内の中括弧のバランスを取る必要があります。 たとえば、"ab {0} de"や"ab '}' de"は有効なパターンですが、"ab {0'}' de"、"ab } de"、"''{''"は無効です。
- 警告:
- メッセージ・フォーマット・パターン内での引用符の使用ルールは、あまり明快ではありません。 特に、単一引用符を二重にする必要の有無がローカライザにとっては明らかでないこともあります。 ローカライザにルールについて情報を提供し、リソースにバンドルされるソース・ファイル内のコメントなどによって、どの文字列が
MessageFormatで処理されるのかを示すようにしてください。 ローカライザは、変換した文字列でオリジナルのバージョンにはない単一引用符を使用しなければならない場合があります。
ArgumentIndex値は、数字'0' - '9'を使用して記述した0以上の整数です。formatメソッドに渡されたarguments配列またはparseメソッドによって返された結果の配列のインデックスを表します。
FormatTypeおよびFormatStyle値は、フォーマット要素のFormatインスタンスの生成に使用します。 次の表に、Formatインスタンスへの値のマップについて示します。 表にない組み合わせは使用できません。 SubformatPatternは、使用するFormatサブクラスに対して有効なパターン文字列である必要があります。
使用方法
次にいくつかの使用例を示します。 もちろん実際の国際化されたプログラムでは、メッセージ・フォーマット・パターンやその他の静的な文字列はリソース・バンドルから取得されます。 その他のパラメータは実行時に動的に決定されます。
最初の例では、staticメソッドMessageFormat.formatを使用しています。このメソッドは内部的に、1度限りの使用目的でMessageFormatインスタンスを作成します。
出力は次のとおりです。int planet = 7; String event = "a disturbance in the Force"; String result = MessageFormat.format( "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.", planet, new Date(), event);
At 12:30 PM on Jul 3, 2053, there was a disturbance in the Force on planet 7.
次の例では、繰返し使用可能なMessageFormatインスタンスを作成しています。
int fileCount = 1273; String diskName = "MyDisk"; Object[] testArgs = {Long.valueOf(fileCount), diskName}; MessageFormat form = new MessageFormat( "The disk \"{1}\" contains {0} file(s)."); System.out.println(form.format(testArgs));
fileCountにさまざまな値を設定した場合の出力結果を次に示します。
The disk "MyDisk" contains 0 file(s). The disk "MyDisk" contains 1 file(s). The disk "MyDisk" contains 1,273 file(s).
より高度なパターンを実現したければ、ChoiceFormatを使用することで、単数と複数に対してそれぞれ適切な形式を生成できます。
MessageFormat form = new MessageFormat("The disk \"{1}\" contains {0}."); double[] filelimits = {0,1,2}; String[] filepart = {"no files","one file","{0,number} files"}; ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart); form.setFormatByArgumentIndex(0, fileform); int fileCount = 1273; String diskName = "MyDisk"; Object[] testArgs = {Long.valueOf(fileCount), diskName}; System.out.println(form.format(testArgs));
fileCountにさまざまな値を設定した場合の出力結果を次に示します。
The disk "MyDisk" contains no files. The disk "MyDisk" contains one file. The disk "MyDisk" contains 1,273 files.
上の例のようにChoiceFormatをプログラム的に作成できますが、次のようにパターンを使用することもできます。 詳細は、ChoiceFormatを参照してください。
form.applyPattern( "There {0,choice,0#are no files|1#is one file|1<are {0,number,integer} files}.");
ノート: 上記からわかるように、MessageFormatのChoiceFormatによって生成される文字列の扱いはかなり特殊です。「{」の存在によってサブフォーマットであることを示し、再帰処理を行っています。 MessageFormatとChoiceFormatを両方とも(文字列パターンとしてではなく)プログラム的に作成する場合には、再帰的に繰り返すフォーマットを作成して永久ループに陥らないように注意してください。
1つの引数が文字列内で複数回解析されると、最後に一致するものが解析の最終結果になります。 たとえば、
MessageFormat mf = new MessageFormat("{0,number,#.##}, {0,number,#.#}"); Object[] objs = {Double.valueOf(3.1415)}; String result = mf.format( objs ); // result now equals "3.14, 3.1" objs = mf.parse(result, new ParsePosition(0)); // objs now equals {Double.valueOf(3.1)}
同様に、同じ引数が複数回出てくるパターンを使ってMessageFormatオブジェクトを解析すると、最後に一致するものが返されます。 たとえば、
MessageFormat mf = new MessageFormat("{0}, {0}, {0}"); String forParsing = "x, y, z"; Object[] objs = mf.parse(forParsing, new ParsePosition(0)); // objs now equals {new String("z")}
Synchronization
メッセージ・フォーマットは同期化されません。 スレッドごとに別のフォーマット・インスタンスを作成することをお薦めします。 複数のスレッドがフォーマットに並行してアクセスする場合は、外部的に同期化する必要があります。
- 導入されたバージョン:
- 1.1
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static classMessageFormat.formatToCharacterIteratorから返されたAttributedCharacterIterator内の属性キーとして使用する定数を定義します。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明MessageFormat(String pattern) デフォルトのFORMATロケールと指定されたパターンのためのMessageFormatを構築します。MessageFormat(String pattern, Locale locale) 指定されたロケールとパターンのためのMessageFormatを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明voidapplyPattern(String pattern) このメッセージ・フォーマットによって使用されるパターンを設定します。clone()このオブジェクトのコピーを作成して、返します。boolean2つのメッセージ・フォーマット・オブジェクトの間の等号比較です。final StringBufferformat(Object[] arguments, StringBuffer result, FieldPosition pos) オブジェクトの配列をフォーマットし、提供されたStringBufferに、フォーマット要素をフォーマットされたオブジェクトによって置き換えてMessageFormatのパターンを追加します。final StringBufferformat(Object arguments, StringBuffer result, FieldPosition pos) オブジェクトの配列をフォーマットし、提供されたStringBufferに、フォーマット要素をフォーマットされたオブジェクトによって置き換えてMessageFormatのパターンを追加します。static String指定されたパターンを使ってMessageFormatを作成し、それを使用して指定された引数をフォーマットします。formatToCharacterIterator(Object arguments) オブジェクトの配列をフォーマットし、それをMessageFormatのパターンに挿入して、AttributedCharacterIteratorを生成します。Format[]あらかじめ設定されたパターン文字列内のフォーマット要素に使用されるフォーマットを取得します。Format[]formatメソッドに渡される値またはparseメソッドから返された値に使用されるフォーマットを取得します。サブフォーマットを作成または比較する場合に使用されるロケールを取得します。inthashCode()メッセージ・フォーマット・オブジェクトのハッシュ・コードを生成します。Object[]指定された文字列の先頭からテキストを解析してオブジェクト配列を生成します。Object[]parse(String source, ParsePosition pos) 文字列を解析します。parseObject(String source, ParsePosition pos) 文字列からテキストを解析してオブジェクト配列を生成します。voidあらかじめ設定されたパターン文字列内の指定されたフォーマット要素インデックスで、フォーマット要素に使用するフォーマットを設定します。voidsetFormatByArgumentIndex(int argumentIndex, Format newFormat) 指定された引数インデックスを使用する、あらかじめ設定されたパターン文字列内のフォーマット要素に使用するフォーマットを設定します。voidsetFormats(Format[] newFormats) あらかじめ設定されたパターン文字列内のフォーマット要素に使用するフォーマットを設定します。voidsetFormatsByArgumentIndex(Format[] newFormats) formatメソッドに渡される値またはparseメソッドから返された値に使用するフォーマットを設定します。voidサブフォーマットを作成または比較する場合に使用するロケールを設定します。メッセージ・フォーマットの現在の状態を表すパターンを返します。クラスjava.text.Formatで宣言されたメソッド
format, parseObject
-
コンストラクタの詳細
-
MessageFormat
public MessageFormat(String pattern) デフォルトのFORMATロケールと指定されたパターンのためのMessageFormatを構築します。 コンストラクタはロケールを設定してからパターンを解析し、含まれているフォーマット要素についてサブフォーマットのリストを作成します。 パターンとその解釈はクラスの概要で指定されています。- パラメータ:
pattern- このメッセージ・フォーマットのためのパターン- スロー:
IllegalArgumentException- パターンが無効な場合NullPointerException-patternがnullの場合
-
MessageFormat
指定されたロケールとパターンのためのMessageFormatを構築します。 コンストラクタはロケールを設定してからパターンを解析し、含まれているフォーマット要素についてサブフォーマットのリストを作成します。 パターンとその解釈はクラスの概要で指定されています。- 実装要件:
- デフォルトの実装では、
MessageFormatオブジェクトの作成時にlocaleがnullの場合、またはformat()がnullロケールでMessageFormatインスタンスによってコールされ、実装でロケール依存のサブフォーマットが使用される場合に、NullPointerExceptionがスローされます。 - パラメータ:
pattern- このメッセージ・フォーマットのためのパターンlocale- このメッセージ・フォーマットのためのロケール- スロー:
IllegalArgumentException- パターンが無効な場合NullPointerException-patternがnullまたはlocaleがnullであり、実装でロケールに依存するサブフォーマットが使用されている場合。- 導入されたバージョン:
- 1.4
-
-
メソッドの詳細
-
setLocale
public void setLocale(Locale locale) サブフォーマットを作成または比較する場合に使用するロケールを設定します。 これは、後に行われる次のようなメソッドへの呼出しに影響します。applyPatternメソッドとtoPatternメソッド(フォーマット要素がフォーマット型を指定しており、そのためサブフォーマットがapplyPatternメソッドで作成される場合)formatメソッドとformatToCharacterIteratorメソッド(フォーマット要素がフォーマット型を指定しておらず、そのためサブフォーマットがこれらの書式設定メソッドで作成される場合)。
- パラメータ:
locale- サブフォーマットを作成または比較する場合に使用するロケール
-
getLocale
public Locale getLocale()サブフォーマットを作成または比較する場合に使用されるロケールを取得します。- 戻り値:
- サブフォーマットを作成または比較する場合に使用されるロケール
-
applyPattern
public void applyPattern(String pattern) このメッセージ・フォーマットによって使用されるパターンを設定します。 メソッドはパターンを解析し、含まれているフォーマット要素についてサブフォーマットのリストを作成します。 パターンとその解釈はクラスの概要で指定されています。- パラメータ:
pattern- このメッセージ・フォーマットのためのパターン- スロー:
IllegalArgumentException- パターンが無効な場合NullPointerException-patternがnullの場合
-
toPattern
public String toPattern()メッセージ・フォーマットの現在の状態を表すパターンを返します。 文字列は内部情報から構築されるので、以前に適用されたパターンと等しくなるとは限りません。- 戻り値:
- メッセージ・フォーマットの現在の状態を表すパターン
-
setFormatsByArgumentIndex
public void setFormatsByArgumentIndex(Format[] newFormats) formatメソッドに渡される値またはparseメソッドから返された値に使用するフォーマットを設定します。newFormats内の要素のインデックスは、あらかじめ設定されたパターン文字列で使用される引数インデックスに対応します。 したがって、newFormats内のフォーマットの順序はformatメソッドに渡されたarguments配列またはparseメソッドによって返された結果の配列内の要素の順序に対応します。引数インデックスがパターン文字列内で複数のフォーマット要素に使用される場合、対応する新しいフォーマットがそのすべてのフォーマット要素に使用されます。 引数インデックスが文字列内でどのフォーマット要素にも使用されない場合は、対応する新しいフォーマットは無視されます。 提供されたフォーマットが必要数に満たない場合、
newFormats.lengthより少ない引数インデックスに対するフォーマットだけが置き換えられます。- パラメータ:
newFormats- 使用する新しいフォーマット- スロー:
NullPointerException-newFormatsがnullである場合- 導入されたバージョン:
- 1.4
-
setFormats
public void setFormats(Format[] newFormats) あらかじめ設定されたパターン文字列内のフォーマット要素に使用するフォーマットを設定します。newFormats内のフォーマットの順序は、パターン文字列内のフォーマット要素の順序に対応します。パターン文字列で必要とするよりも多くのフォーマットが提供された場合、余ったフォーマットは無視されます。 必要数に満たない場合は、最初の
newFormats.lengthだけが置き換えられます。パターン文字列内のフォーマット要素の順序はローカリゼーションの処理過程で変更されることが多いため、通常は
setFormatsByArgumentIndexメソッドを使用するほうが効率的です。このメソッドは、フォーマットの順序をformatメソッドに渡されたarguments配列またはparseメソッドによって返された結果の配列内の要素の順序に対応するものと見なします。- パラメータ:
newFormats- 使用する新しいフォーマット- スロー:
NullPointerException-newFormatsがnullである場合
-
setFormatByArgumentIndex
public void setFormatByArgumentIndex(int argumentIndex, Format newFormat) 指定された引数インデックスを使用する、あらかじめ設定されたパターン文字列内のフォーマット要素に使用するフォーマットを設定します。 引数インデックスはフォーマット要素定義の部分で、formatメソッドに渡されたarguments配列またはparseメソッドによって返された結果の配列のインデックスを表します。引数インデックスがパターン文字列内で複数のフォーマット要素に使用される場合、新しいフォーマットがそのすべてのフォーマット要素に使用されます。 引数インデックスが文字列内でどのフォーマット要素にも使用されない場合は、新しいフォーマットは無視されます。
- パラメータ:
argumentIndex- 新しいフォーマットに使用するための引数インデックスnewFormat- 使用する新しいフォーマット- 導入されたバージョン:
- 1.4
-
setFormat
public void setFormat(int formatElementIndex, Format newFormat) あらかじめ設定されたパターン文字列内の指定されたフォーマット要素インデックスで、フォーマット要素に使用するフォーマットを設定します。 フォーマット要素インデックスは、パターン文字列の先頭からカウントした、フォーマット要素のゼロから始まる数字です。パターン文字列内のフォーマット要素の順序は、ローカリゼーションの処理過程で変更されることが多いため、通常は
setFormatByArgumentIndexメソッドを使用するほうが効率的です。このメソッドは、フォーマット要素が指定する引数インデックスを基に、フォーマット要素にアクセスします。- パラメータ:
formatElementIndex- パターン内のフォーマット要素のインデックスnewFormat- 指定されたフォーマット要素に使うフォーマット- スロー:
ArrayIndexOutOfBoundsException-formatElementIndexが、パターン文字列内のフォーマット要素の数以上の場合
-
getFormatsByArgumentIndex
public Format[] getFormatsByArgumentIndex()formatメソッドに渡される値またはparseメソッドから返された値に使用されるフォーマットを取得します。 返された配列内の要素のインデックスは、あらかじめ設定されたパターン文字列で使用される引数インデックスに対応します。 したがって、返された配列内のフォーマットの順序は、formatメソッドに渡されたarguments配列またはparseメソッドによって返された結果の配列内の要素の順序に対応します。引数インデックスがパターン文字列内で複数のフォーマット要素に使用される場合、その最後のフォーマット要素で使用されるフォーマットが配列に返されます。 引数インデックスが文字列内でどのフォーマット要素にも使用されない場合は、nullが配列に返されます。
- 戻り値:
- パターン内の引数に使用されるフォーマット
- 導入されたバージョン:
- 1.4
-
getFormats
public Format[] getFormats()あらかじめ設定されたパターン文字列内のフォーマット要素に使用されるフォーマットを取得します。 返される配列内のフォーマットの順序は、パターン文字列内のフォーマット要素の順序に対応します。パターン文字列内のフォーマット要素の順序はローカリゼーションの処理過程で変更されることが多いため、通常は
getFormatsByArgumentIndexメソッドを使用するほうが効率的です。このメソッドは、フォーマットの順序をformatメソッドに渡されたarguments配列またはparseメソッドによって返された結果の配列内の要素の順序に対応するものと見なします。- 戻り値:
- パターン内のフォーマット要素に使用されるフォーマット
-
format
public final StringBuffer format(Object[] arguments, StringBuffer result, FieldPosition pos) オブジェクトの配列をフォーマットし、提供されたStringBufferに、フォーマット要素をフォーマットされたオブジェクトによって置き換えてMessageFormatのパターンを追加します。個々のフォーマット要素に置換されたテキストは、次の表の最初に一致する行で示されるように、フォーマット要素の現在のサブフォーマットとフォーマット要素の引数インデックスにある
arguments要素から得られます。 引数は、argumentsがnullであるか、または要素の数がargumentIndex+1個より少ない場合、使用不可です。サブフォーマット 引数 フォーマットされたテキスト any 使用不可 "{" + argumentIndex + "}"null"null"instanceof ChoiceFormatany subformat.format(argument).indexOf('{') >= 0 ?
(new MessageFormat(subformat.format(argument), getLocale())).format(argument) : subformat.format(argument)!= nullany subformat.format(argument)nullinstanceof NumberNumberFormat.getInstance(getLocale()).format(argument)instanceof DateDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getLocale()).format(argument)instanceof Stringargumentany argument.toString()posがnullでなく、かつField.ARGUMENTを参照している場合、最初のフォーマットされた文字列の位置が返されます。- パラメータ:
arguments- フォーマットするかまたは置き換えるオブジェクトからなる配列。result- テキストが追加される位置。pos- 置換された最初の引数の位置を出力文字列で追跡します。- 戻り値:
resultとして渡される文字列バッファー。フォーマットされたテキストが付加される- スロー:
IllegalArgumentException-arguments配列内の引数が、それを使用するフォーマット要素によって予測された型でない場合。NullPointerException-resultがnullの場合、またはこのメソッドをコールするMessageFormatインスタンスでロケールがnullに設定され、実装でロケール依存サブフォーマットが使用されている場合。
-
format
指定されたパターンを使ってMessageFormatを作成し、それを使用して指定された引数をフォーマットします。 これは次の記述と同等です。(newMessageFormat(pattern)).format(arguments, new StringBuffer(), null).toString()- パラメータ:
pattern- パターン文字列arguments- フォーマットするオブジェクト- 戻り値:
- フォーマットされた文字列
- スロー:
IllegalArgumentException- パターンが無効な場合、またはarguments配列内の引数が、それを使用するフォーマット要素によって予測された型でない場合。NullPointerException-patternがnullの場合
-
format
public final StringBuffer format(Object arguments, StringBuffer result, FieldPosition pos) オブジェクトの配列をフォーマットし、提供されたStringBufferに、フォーマット要素をフォーマットされたオブジェクトによって置き換えてMessageFormatのパターンを追加します。 これは次の記述と同等です。format((Object[]) arguments, result, pos)- 定義:
format、クラスFormat- パラメータ:
arguments- フォーマットするかまたは置き換えるオブジェクトからなる配列。result- テキストが追加される位置。pos- 置換された最初の引数の位置を出力文字列で追跡します。- 戻り値:
toAppendToとして渡される文字列バッファ。フォーマットされたテキストが追加される- スロー:
IllegalArgumentException-arguments配列内の引数が、それを使用するフォーマット要素によって予測された型でない場合。NullPointerException-resultがnullの場合、またはこのメソッドをコールするMessageFormatインスタンスでロケールがnullに設定され、実装でロケール依存サブフォーマットが使用されている場合。
-
formatToCharacterIterator
public AttributedCharacterIterator formatToCharacterIterator(Object arguments) オブジェクトの配列をフォーマットし、それをMessageFormatのパターンに挿入して、AttributedCharacterIteratorを生成します。 返されたAttributedCharacterIteratorを使用すると、結果のStringを構築できるとともに、結果のStringについての情報を判定できます。返された
AttributedCharacterIteratorのテキストは、次の記述によって返されるテキストと同一です。format(arguments, new StringBuffer(), null).toString()さらに、
AttributedCharacterIteratorは、少なくともarguments配列内の引数からテキストが生成された位置を示す属性を含みます。 これらの属性のキーはMessageFormat.Field型です。属性の値は、テキストが生成された引数のarguments配列内のインデックスを示すIntegerオブジェクトです。MessageFormatが使用する基本のFormatインスタンスからの属性/値も、結果のAttributedCharacterIteratorに配置されます。 これにより、結果のString内の引数の位置がわかるだけでなく、その引数がどのフィールドに含まれているかもわかります。- オーバーライド:
formatToCharacterIterator、クラスFormat- パラメータ:
arguments- フォーマットするかまたは置き換えるオブジェクトからなる配列。- 戻り値:
- フォーマットされた値を説明するAttributedCharacterIterator。
- スロー:
NullPointerException-argumentsがnullである場合。IllegalArgumentException-arguments配列内の引数が、それを使用するフォーマット要素によって予測された型でない場合。- 導入されたバージョン:
- 1.4
-
parse
public Object[] parse(String source, ParsePosition pos) 文字列を解析します。注意: 解析はさまざまな原因のために、うまく動作しないことがあります。 たとえば、
- 引数の1つがパターンにない。
- 大きな数字が"many"にフォーマットされるようなchoiceフォーマットなどで、引数のフォーマットが情報を失う。
- 繰返しをまだ処理しない(置き換える文字列に{n}個の参照がある場合)。
- 解析の一部があいまいなとき、一致(または正しい一致)が必ずしも見つからない。 たとえば、パターン「{1},{2}」を文字列引数{"a,b", "c"}で使用する場合は、「a,b,c」とフォーマットされる。 その結果が解析されると、{"a", "b,c"}が返される。
- 1つの引数が文字列内で複数回解析されると、あとの解析が優位になる。
- パラメータ:
source- 解析する文字列pos- 解析位置- 戻り値:
- 解析されたオブジェクトの配列
- スロー:
NullPointerException-posがnull以外のsource文字列のnullである場合。
-
parse
public Object[] parse(String source) throws ParseException 指定された文字列の先頭からテキストを解析してオブジェクト配列を生成します。 メソッドは指定された文字列のテキスト全体に使用されない場合もあります。メッセージの解析の詳細については、
parse(String, ParsePosition)メソッドを参照してください。- パラメータ:
source- 先頭が解析されるString。- 戻り値:
- 文字列から解析される
Object配列。 - スロー:
ParseException- 指定された文字列の先頭が解析できない場合。
-
parseObject
public Object parseObject(String source, ParsePosition pos) 文字列からテキストを解析してオブジェクト配列を生成します。メソッドは
posによって指定されたインデックスを開始位置としてテキストの解析を試みます。 解析が完了すると、posのインデックスは、使用された最後の文字(解析では、文字列の最後までのすべての文字が使用されるとは限らない)のあとのインデックスに更新され、解析されたオブジェクト配列が返されます。 更新されたposは、このメソッドの次の呼出しの開始点を示すのに使用できます。 エラーが発生した場合は、posのインデックスは変更されず、エラーが発生した文字のインデックスにposのエラー・インデックスが設定され、nullが返されます。メッセージの解析の詳細については、
parse(String, ParsePosition)メソッドを参照してください。- 定義:
parseObject、クラスFormat- パラメータ:
source- 部分的に解析されるString。pos- 上記のインデックスおよびエラー・インデックス情報を持つParsePositionオブジェクト- 戻り値:
- 文字列から解析される
Object配列。 エラーの場合はnullを返す。 - スロー:
NullPointerException-posがnullである場合。
-
clone
public Object clone()このオブジェクトのコピーを作成して、返します。 -
equals
public boolean equals(Object obj) 2つのメッセージ・フォーマット・オブジェクトの間の等号比較です。 -
hashCode
public int hashCode()メッセージ・フォーマット・オブジェクトのハッシュ・コードを生成します。
-