1. ホーム
  2. java

[解決済み] 文字列の最初のn文字を、サイズをチェックしたり、境界外に出たりせずに取得するにはどうしたらよいですか?

2022-04-14 05:17:29

質問

どうすれば最初の n の文字列を、サイズチェックを行わずに(インラインは可)、あるいは IndexOutOfBoundsException ?

解決方法は?

ここで、すてきな解決策をご紹介しましょう。

String upToNCharacters = s.substring(0, Math.min(s.length(), n));


意見: この解決策はquot;neat"ですが、実際には 可読性が低い を使用したソリューションよりも if / else を当たり前のように使っています。 もし読者がこのトリックを見たことがない場合は もっと考える を理解することができます。 IMOでは、コードの意味は、より明白に if / else バージョンに変更しました。 よりクリーンで読みやすい解決策については、@paxdiablo の回答を参照してください。