1

私は現在、テキスト ドキュメントをストリーミングしてトークン化するプロジェクトに取り組んでいます。唯一の問題は、テキスト ドキュメントの型が不明であることです。プログラムで変数に設定する前に、変数の型を確認する方法はありますか?

4

1 に答える 1

2

いいえ、タイプ情報はテキスト ストリームに含まれていないためです。たとえば、トークナイザーが次のトークンに遭遇したとします。

47

これにはどんな種類がありますか?String ( "47")、byte、int、long、float、または double のいずれかです。これらの型はすべてそのトークンを生成した可能性があるため、出力される前に型が何であったかを知る方法はありません。

ファイルを解析するときは、予想されるタイプをすでに知っている必要があり、一致しない場合はエラーが発生します。

StringTokenizerクラスは文字列のみを返します。文字列が必要な場合は、それらを変数に保存するだけです。別のタイプを期待している場合は、それを解析する必要があります。たとえば、 string を読み取る場合は、Integer.parseInt"47"を介して実行する必要があります。これは int (例: ) を返すか、一致しなかった場合は NumberFormatException をスローします。テキスト ファイルが予期したものと一致しなかったため、NumberFormatException をキャッチして、ユーザーにエラーを表示することができます。47

于 2011-03-29T02:45:13.640 に答える