ホーム / ハック / Eclipse/javaで手っ取り早く例外を発生させる方法
ホーム / ハック / Eclipse/javaで手っ取り早く例外を発生させる方法
JavaだとList型などで利用されるジェネリクスですが、元々の言語仕様の関係でちょっとややこしいことになってます。 1.オーバーロードできないたとえば、List<Integer>型についてはその値の合計の文字列を、List<String>型については文字列の合算を算出する機能を実装しようとしたときに、以下のようにオーバーロードを用いることはできません。 public String getSumString(List<String> elements) { // hogehoge } public String getSumString(List<Integer> elements) { // fugafuga } これは、ジェネリクスの持つ型情報がコンパイル時にのみ存在し、実行時には消滅している(そのため上記2つのメソッドを区別できず、オーバーロードによって解決できない)という問題に起因
yahooの知恵袋眺めてたら、JSPでList<Map>からラジオボタンを動的に作る質問を見かけて、そういえば最近Struts2で似たことやったなぁ、と思って忘れないためにメモらいず。 【やりたいこと】 List<Map<String, String>>のオブジェクトがあった時に、Mapのキーと値でラジオボタンを動的に生成したい。 アクション側はこんな感じ Map<String, String> userProfile1 = new HashMap<String, String>(); Map<String, String> userProfile2 = new HashMap<String, String>(); // usersはgetter/setter追加 List<Map<String, String>> users = new ArrayList<Map<String, Str
はじめに 例外処理の問題は Java コードレビューでの頻出指摘事項である。この記事で述べる通り、Java の例外処理において守るべき基本的なルールはそれほど複雑ではない。だが、たとえ職務経歴上は経験年数の長い Java プログラマであっても、適切な例外処理を実装できないケースは残念ながらよく観測される。さらに経験年数が短い Java プログラマにおいては言わずもがなである。 なぜ不適切な例外処理が広くはびこっているのか。そこには大きく分けて三つの要因が考えられる。まず、Java 言語仕様において例外機構 (特に検査例外) に歴史的事情による混乱があり、プログラマに過度の自由が与えられていることである。次に、アプリケーションを開発するだけでなく実際に運用してみない限り、不適切な例外処理の弊害に気づけないことである。最後に、適切な例外処理を学ぶためのコンパクトにまとまった資料が世に存在しない
Java Stream API で複数のフィルターを一度に適用するメソッドを作ってみたけど、これでよかったのか?Java /** * フィルター条件を複数持つインプット. * <p> * ※実際はもっと複雑だったり、複合的だったり... */ @Data class InputDto { /** フィルターに利用する条件1 */ private boolean conditions1; /** フィルターに利用する条件2 */ private boolean conditions2; /** フィルターに利用する条件3 */ private boolean conditions3; /** フィルターに利用する条件4 */ private boolean conditions4; /** フィルターに利用する条件5 */ private boolean conditions5; // ..
ソート対象 昔ながらの読みにくいソート Lambda を利用した冗長なソート Java8 Stream における正しいソート thenComparing による複合キーのソート ソート条件の指定 null コンパレータ Comparable Map のソート まとめ ソートキーの指定 ソート条件の指定 ソート条件 Map のソート ソート対象 以下のような id と name プロパティを持った Item を考えます。 public class Item { private Integer id; private String name; public Item(Integer id, String name) { this.id = id; this.name = name; } public Integer getId() { return id; } public String ge
「HttpServletRequest」インターフェースのオブジェクトからは色々な情報が取り出せますが、一番利用頻度が高いリクエストパラメータの取得方法から見ていきます。リクエストパラメータとはクライアント側のフォームから送られてきたデータです。 リクエストパラメータは「名前」と「値」のペアで送られてきます。GETメソッドとPOSTメソッドの両方で送られてくる可能性がありますが、サーブレットではどちらのHTTPメソッドで送られてきたかを意識せずに処理することが可能です。 getParameterメソッドとgetParameterValuesメソッド リクエストパラメータを取得するには「HttpServletRequest」インターフェースの親インターフェースである「ServletRequest」インタフェースで定義されている「getParameter」メソッドを使います。 getParam
► 2023 (1) ► 1月 (1) ► 2022 (1) ► 5月 (1) ► 2020 (19) ► 9月 (2) ► 8月 (3) ► 6月 (4) ► 5月 (6) ► 4月 (1) ► 3月 (1) ► 1月 (2) ► 2019 (60) ► 11月 (2) ► 10月 (3) ► 9月 (14) ► 8月 (19) ► 7月 (7) ► 6月 (2) ► 5月 (3) ► 4月 (10) ► 2018 (11) ► 8月 (1) ► 7月 (2) ► 4月 (2) ► 3月 (3) ► 2月 (3) ► 2017 (33) ► 12月 (1) ► 11月 (2) ► 10月 (4) ► 9月 (2) ► 8月 (4) ► 7月 (2) ► 6月 (3) ► 5月 (2) ► 4月 (4) ► 2月 (2) ► 1月 (7) ► 2016 (35) ► 12月 (7) ► 1
以下の JSON のように トップレベルの要素がオブジェクトではなく配列 であるケースにおいて、Jackson を用いて POJO を含む List オブジェクトにデシリアライズする方法をメモメモしておきます。 import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; import java.io.IOException; import java.util.List; /** * オブジェクトを含んだ配列の JSON を、POJO なオブジェクトを含むリストにデシリアライズするデモ。 * * @author KOMIYA Atsushi */ public class ListDeserializationDemo { public static class M
はじめに APIやサーバとの通信では、多くがJSONの形式です。 そこで、サーバサイドのjavaからJSONを返すテンプレートを作りました。 標準ライブラリのjava.net.HttpURLConnectionを使います。 他に使用するライブラリも標準ものでまとめてあります。 参考 : HttpURLConnectionを使ってPOSTやGETでリクエストするサンプル(proxyも考慮) プログラム package HttpRequest; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.ne
はじめに Java使いには欠かせないIDEであるEclipse。賢く補完してくれるのが魅力ですが、Visual Studioに慣れていると「補完がもっさりしてるなー」と思ってしまうのも事実。 でも補完設定をカスタマイズすることで、Visual Studio並みにバリバリ補完してくれるようになるのです。 環境 Eclipse 3.6.1 Helios 今回はWindows 7でPleiades All in Oneを使用していますが、素のEclipseでも同じです。もちろんLinux版でもOK。 Javaの補完設定のカスタマイズ やることは コンテンツ・アシストの自動有効化遅延を短くする 補完候補の一覧が表示されるまでの時間を短く設定することで、補完を速くします。 コンテンツ・アシストの自動有効化トリガーとなる文字を追加する 「.」以外の文字を入力した場合にも補完を開始するように設定し、特別
ToStringBuilder の reflectionToString たとえばこんなコード List<Hoge> l = Arrays.asList(new Hoge("S1", 1), new Hoge("S2", 2)); Bar bar = new Bar(100, l); System.out.println(ToStringBuilder.reflectionToString(bar)); 以下のような出力が得られる。 etc9.Bar@1a457b6[id=100,list=[etc9.Hoge@b0f13d, etc9.Hoge@ae000d]] だけどlistの中身がみたい listの中のオブジェクトなどを再帰的に表示したくないでしょうか?ToStringStyle を拡張することで、reflectionToString の出力形式を簡単に変更できます。指定パッケージの
偶数月はWEB+DBの月ということで、WEB+DB PRESS Vol.52を買ってきました。 WEB+DB PRESS Vol.52 作者: 矢野勉,庄司嘉織,ミック,鶴岡直也,伊藤直也,森田創,高林哲,小飼弾,羽生章洋,角田直行,はまちや2,kana,斉藤太郎,瀧内元気,青木靖,長野雅広,武者晶紀,川口耕介,冨田慎一,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2009/08/22メディア: 大型本購入: 20人 クリック: 167回この商品を含むブログ (37件) を見る id:Yoshioriとid:t_yanoの共著で書かれた、[新人さんに贈る]Javaプログラミングの習慣の中でcommons langのHashCodeBuilderとEqualsBuilderが紹介されていたので、便乗してToStringBuilderも便利ですよと紹介してみる。 準備
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く