privateメソッドの例外発生テスト メソッド単位にテストを書いていると、privateメソッド単体の試験をしたくなるときがありますが、 リフレクションを使ってテストした場合は、例外の扱いに気をつける必要があります。 というのも、リフレクション中に例外が発生した場合は、InvocationTargetExceptionに例外が包含されるからです。 例えばあるprivateメソッド中でIllegalArgumentExceptionを発生させるテストを書いたとして、 // ここまでに例外が発生するように事前準備等をしてあると仮定 try { // privateメソッドのTestTarget#testMethod(String)の実行 Method method = TestTarget.class.getDeclaredMethod("testMethod", String.class)
一人でプログラムを書いてたりすると、環境によってはあまりコードの書き方には指摘を受けなくて困りますよね。プロになっても、曲がりなりにもちゃんと動くコードを書けてしまうとあまりに当たり前のことなんかは指摘されることも稀で、そのままある程度偉くなっちゃった日には、もはや自分で気付くしかなくなってしまいます。 FindBugsとか、Effective Javaなら使ったり読んでみたり読ませたりすることはできますが、それ以前のところって難しいんですよね。よいコードと言うよりそれが当たり前だと思われているので、指摘するにしても「こうすればいいよ」(アドバイス)じゃなくて「なんでこうしてないの?」(詰問)になってしまいがちです。 そこで、最近そういうJavaニュービーに指摘している(したい)ことの多い、Javaの基礎的な事柄をまとめてみました。ワタシJavaチョットデキルって人は、これ以外にもやりがち
StackOverflowから。 Photo by Photo by Nafinia Putra | Unsplash / CC BY 0 stackoverflow.com Javaで、nullチェックとして毎回object != nullと書くと見苦しい、代わりの良い方法はない?というスレッド。 本日のTILとして、これをざっくり眺めたまとめ。英語力低いのであってるか怪しい。 単純に毎回nullチェックする派 if (someobject != null) { someobject.doCalc(); } 関数の頭でチェックして、nullなら例外投げとけば?派 public void method(Object object) { if (object == null) { throw new IllegalArgumentException("..."); } ふつうだ。 派生として
という基本的な内容から、Enumクラスの使い方などの応用的な使い方に関しても解説していきます。今回はEnumについて、わかりやすく解説します! なお、Javaの記事については、こちらにまとめています。 Enumについて Enum(列挙型)とは、複数の定数をひとつにまとめておくことができる型のことです。Enumで定義する定数のことを列挙子と呼びます。 C言語でも列挙型は使われ、定義の方法は似ている部分がありますが、Javaの列挙型はクラスですので、フィールドやメソッドを定義することができます。 switch文で列挙子を使用することで、読みやすさ(可読性)が向上することなどがEnumを使うメリットになります。 定義について Enumの定義は以下のように記述します。 アクセス修飾子 enum 列挙名 {列挙子1, 列挙子2, ・・・}; サンプルコードで確認しましょう。 public class
Enumクラスはとても便利です。 定数として扱うだけでなく自分でメソッドを追加出来たり、既に用意されている便利なメソッドを使ったりすることもできます。 しかし、Enumクラスで文字列を扱う際に 「文字列とEnumの定数を比較したいけどどうすればいいの?」 「switchのcase文で文字列は使えないけどEnumを使うことで実現可能なの?」 などと言ったお声を耳にします。 そういった方にはこの記事を見れば文字列⇔列挙型の変換方法やswitch文で文字列を使った分岐方法がわかるようになります! なお、Javaの記事については、こちらにまとめています。 Enumクラスの便利さを理解しつつも、文字列とEnumの比較やswitch文での活用に悩む方も多いようです。これらの課題を解決する知識を得ることは、プログラミングスキルの向上に大いに役立ちます。しかし、技術的なスキルだけでなく、将来のキャリアや収
Javaのキーワードfinalは、変数やクラス・メソッドで「決めたことを変更できなくする」ことをプログラマーが指定するものです。finalの機能自体はこのように簡単に言えてしまうのですが、なぜそれがプログラミング上で必要なのか、意外と知られていないものです。 この記事ではそんなfinalについて、意義・使い方をばっちりお伝えします。finalは変数やクラス、メソッドに指定でき、それぞれ意味が違いますが、もちろんその違いもきちんとお伝えします。 finalを使いこなすことは、良い品質のJavaのプログラムを作るためには欠かせません。せっかくこの記事にたどり着いたのですから、これを機会にfinalをしっかりと理解して、一歩進んだJavaプログラマーになるきっかけを掴みましょう!! 1.Javaのfinalとは何か1-1.finalとは決めたものを変更できなくすること冒頭でも述べたとおり、fin
はじめに 本投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はFactory Methodパターンになります。 まとめ一覧はこちら Factory Methodパターン Factory Methodとは インスタンスの作り方をスーパークラスで定め、具体的な処理をサブクラスで行うパターンをFactory Methodパターンと呼びます。 オブジェクトの生成と具体的な処理を分離することで、より柔軟にオブジェクトを利用することができます。 Template Methodパターンをオブジェクト生成の場面に適応させたデザインパターンと言えますね。 簡単に言えば、オブジェクト生成を容易にするデザインパターンです。 FactoryパターンとFactory Methodパターン FactoryパターンとFactory Methodパターンでは以下の違いがあります Fa
本記事は、こちらに移動しました
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く