Javaの[String.substring()メソッド]( http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring (int,%20int% 29)は、そのまま指定されています。番号付きの位置から開始して、指定された文字数を返すように指示することはできません。自分で終了位置を計算する必要があります。また、終了位置を超えて終了位置を指定すると、文字列は、文字列の残りの部分を返すのではなく、Javaが例外をスローします。
私は、substring()(またはsubstr())が開始位置と長さの2つのパラメーターを受け取る言語に慣れています。これはJavaの方法よりも客観的に優れていますか?もしそうなら、それを証明できますか?あなたが見たsubstring()の最良の言語仕様は何ですか、そしてもしあるとしたら、言語が別のことをするのが良い考えになるのはいつですか?Javaが優れた設計アイデアを投げかけるIndexOutOfBoundsExceptionですか?これはすべて個人的な好みに帰着しますか?