1

こんにちは、次のif条件をチェックしようとすると、文字列インデックスが範囲外の例外を取得しています

String details="";
if("C".equalsIgnoreCase(reportType.substring(0,1)))
{
 details="CASH BOOK FROM "+startDate+" TO "+endDate+" **"+shortName;
}
else
{
  details="BANK BOOK FROM "+startDate+" TO "+endDate+" **"+shortName;
}

String index out of range: 1: これはエラー メッセージです

前もって感謝します

4

3 に答える 3

3

reportTypeエラーメッセージは、それがの長さよりも短い1(つまり空である)ことを明確に示しています。これにより、例外がスローされます。あなたは次のような何かを試すことができます

if (reportType.length() >= 1) {
   // your code here
}
于 2012-08-27T09:27:22.390 に答える
1

reportType.substring(0,1)reportTypeが空白 (空) である可能性があるため、例外が発生します。beginIndex が負の場合、または endIndex がこの String オブジェクトの長さより大きい場合、または beginIndex が endIndex より大きい場合は、javadoc : throws: IndexOutOfBoundsException を確認してください。substring

于 2012-08-27T09:30:57.490 に答える
0

これを使って -

reportType.substring(0, reportType.length() -1)

これを行うことで、文字列の長さを超えないため、例外のスローを防ぐことができます

于 2012-08-27T09:35:35.000 に答える