0. 環境

[OS] Mac OS X 10.11.4
[Java] 1.8.0

1. 問題

  • 久々にJavaで実装する機会がありました。標準ライブラリのjava.net.URLクラスは、URLとして解釈できない文字列を渡すと例外が投げられるので扱いずらいですね。

    // IllegalArgumentException が発生。
    url = URL.create("不正なURL");
    
    

    うーん、最初、RFCを見て「URLとして許可されている文字列だけ渡す」という処理を入れようか迷いました。

    が、一から組むのも骨が折れるなあ~と思って、困った時のApache Commonsを探してみたら、しめしめApache Commons ValidatorにUrlValidatorクラスというのがありました。

    早速このクラスをimportして使おうと思ったら、下記の警告が出てしまいました。

    型 UrlValidator は使用すべきではありません

2. 解決

  • 調べてみたところ、①のパッケージは非推奨で②に変えたら警告も消えました。

    • ①こっちは非推奨

      import org.apache.commons.validator.UrlValidator;

    • ②これを使って!

      import org.apache.commons.validator.routines.UrlValidator;

3. 参考