Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

プレゼン、ボランティアコーチします!

勉強会で話したいけど、プレゼンが初めて、苦手という方に無償でコーチします!

  • スライドのレビュー
  • 録画リハへのアドバイス

Twitter@jyukutyoまでメンションでもDMでも。 デブサミやJJUG CCCなど200人規模で登壇しました。海外での登壇も短いながらあり。デブサミ2017では公募スピーカー1位でした!

Pattern#split()をちゃんと理解した

"boo:and:foo"

o 	5 	{ "b", "", ":and:f", "", "" }
o 	-2 	{ "b", "", ":and:f", "", "" }
o 	0 	{ "b", "", ":and:f" }

ゼロの場合、このパターンの適用回数と配列の長さは制限されませんが、後続の空の文字列は破棄されます。

Pattern#split()で第2引数であるlimitを渡さなければ、オーバーロードされたメソッドが呼び出されて、limitは0として扱われる。
そのとき末尾のマッチングがポイントで、limitが0だと末尾がマッチングしても破棄される。
破棄せずに空文字で結果がほしい場合は、limitを-1にしておく。