タグ

Javaに関するfbisのブックマーク (75)

  • TreeMapクラス - Javaちょこっとリファレンス

    TreeMapは基的にHashMapクラスと同じですが、キーによって要素が自動的にソートされる、nullが使用できないという点が異なります。 【TreeMapの特徴】 ・要素の重複:不可 ・nullの要素:不可 ・自動ソート:あり サンプルソースコード TreeMapサンプル import java.util.TreeMap; import java.util.Iterator; public class TreeMapSample { public static void main(String args[]) { //TreeMapデータを作成 TreeMap<String, String> tm = new TreeMap<String, String>(); tm.put("D", "DDD"); tm.put("A", "AAA"); tm.put("C", "CCC"); t

    fbis
    fbis 2014/06/13
  • Javaリフレクションメモ(Hishidama's Java Reflection Memo)

    Javaでは、クラス生成やメソッド呼び出しをソース上に直接書いてコンパイル時に決定されるだけでなく、文字列(クラス名)を使ってクラスを生成したり、 メソッド名の文字列を使ってメソッドを呼び出したりすることが出来る。 クラス(インスタンス)生成 [/2015-04-26] Classのメソッド [/2021-03-21] instanceof [2007-02-16] Classからのインスタンス生成(非推奨) [/2018-04-30] インスタンス生成 [/2013-08-06] 総称型による限定 [2007-05-02] 内部クラスのインスタンス生成 [/2008-02-10] メソッド呼び出し staticメソッド実行 [/2017-07-23] メソッド実行(引数なし) [/2017-07-23] メソッド実行(引数あり) [/2017-07-23] 可変引数メソッド [/2015

  • JavaでもC#みたいなオブジェクト初期化子書けるんですよ - C Sharpens you up

    コンストラクタが特に何もしてくれず、インスタンス作ってから初期化しないといけないタイプのクラスってありますよね。シリアライズのためだったりJavaBeansだったり、あとはふつーのArrayListだから作ってから内容詰め込みます、みたいに。 オブジェクト作ってreturnしたいだけなのに、作ったあとに初期化しないといけないから一時変数作るのがいつも一手余分で、一行で書けるラムダ式がブロックラムダになったりするといらいらもたまるというものです。 C#にはオブジェクト初期化子があるのでその余分な一手が省けますね。 return new Person { Name = "Alice", Age = 20 }; return new List<int> { 1, 1, 2, 3, 5, 8, }; return new Dictionary<int, String> { { 200, "OK"

    JavaでもC#みたいなオブジェクト初期化子書けるんですよ - C Sharpens you up
    fbis
    fbis 2014/02/13
    便利だけどtypoに見えるなw
  • Objective-C と Java と C# でクロージャ的な書き方の比較 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Objective-C と Java と C# でクロージャ的な書き方の比較 - Qiita
    fbis
    fbis 2014/02/12
  • Android:CountDownLatchで同期をとる

    Androidに限った話ではありませんが、java.util.concurrentパッケージは同期・非同期 処理を実装する上で便利なクラスが数多くあります。 今回はそんなconcurrentパッケージから、他スレッドでの操作完了を待機する同期支援 クラスのCountDownLatchを使ってみます。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/CountDownLatch.html CountDownLatchクラスの主なメソッドはawaitとcountDownです。 CountDownLatchは単純なON/OFFを持ったラッチとして機能します。 awaitを呼び出したスレッドは、countDownを呼び出すスレッドによりラッチが開放される まで待機します。 ラッチの開放にかかるアクション回数はコン

    fbis
    fbis 2014/02/12
    CountDownLatchで複数の非同期処理の同期を取る
  • Javaのクラス宣言5種+α - プログラマーの脳みそ

    Javaのクラス宣言には5種類ある。 トップレベルクラス・ネストしたクラス・内部クラス・ローカル内部クラス・匿名クラス(無名クラスとも言われる)の5種類だ。 今回はこの5種類のクラス宣言のおさらい。 トップレベルクラス これは普段使っているクラス。拡張子が.javaのファイルを作り、そのファイル名とクラス名を合致させなくてはいけない。そのjavaファイルのトップレベルに位置する。 ネストしたクラス 「ネストしたクラス」(Nested class)とはクラスの中にクラスがネストしている状態。トップレベルクラスの内側にstaticキーワードをつけてクラス宣言を行う。 public class Outer { public static class Nested { } } このネストしたクラスは、トップレベルクラスと同等の機能性を持つ。 クラス名はOuter.Nestedという名前で扱われるが

    Javaのクラス宣言5種+α - プログラマーの脳みそ
    fbis
    fbis 2014/02/11
    エンクロージングインスタンス
  • Java Tips:文字列の部分一致検索を行うには

    部分一致検索はとても簡単 データベースの文字列データを検索する場合はSQLを利用しますが,ファイルやそのほかのリソースに対して文字列検索を行う場合は,Stringクラスの比較や検索機能を実装したメソッドを利用します。例えば,文字列が完全に一致するかどうか調べるならequalsメソッドを利用するわけです。実際にプログラムで利用する場合は,完全一致よりも部分的に一致するかどうかを調べることがあります。ここでは,部分一致検索を行うためのメソッドの使い方をまとめて紹介します。

    Java Tips:文字列の部分一致検索を行うには
    fbis
    fbis 2014/02/09
  • JavaのHashMapの使い方(値のput、getとループ)

    Javaのコレクションフレームワークのひとつ、Mapについて、まとめておきます。 結構頻繁に利用するので、、、。 一番良く利用すると思われるHashMapを例にします。 HashMapはキーと値のペアを保持しておくことができるクラスです。 下記例を実行すると分かるように、同じキー名で値をputすると、後からputした値で上書きされます。 また、以前はキーと値をループで回しながら扱うのがすこしめんどくさかったのですが、拡張for文を使うことで、すごくすっきりとした記述で扱うことができるようになりました。 記述例 import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestBatch { public static void main(String args[]){ Ha

    JavaのHashMapの使い方(値のput、getとループ)
    fbis
    fbis 2014/02/09
  • Android:HTTP通信でGET, POSTする | 自転車で通勤しましょ♪ブログ

    WebAPIをバンバン使うアプリを作っていたわりに、微妙にJavaでのHTTP通信の方法をよくわかってなかったのですが、ようやくちょっとわかったのでメモっときます。今まではライブラリでやっていました。 API Level 8からAndroidHttpClientというのがあるらしいんですが、今回はあえてDefaultHttpClientで。 以下、GET // 例外処理は省いています // パラメータを生成 ArrayList<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("subject", "件名")); params.add(new BasicNameValuePair("body", "文です。こんにちは!")); // パラメータをクエリに変換

  • Java に parseInt() はあるが、isInt() が無い理由 - kameidの備忘録 - Sharpen the Saw!

    Java には Integer.parseInt() という文字列を int に変換するメソッドが存在する。isInt() というメソッドは存在しない。なので、その文字列が数字かどうかの判断だけを行いたい場合でも、とりあえず parseInt() してみる、という実装になる。 try { Integer.parseInt(intstring); } catch (NumberFormatException e) { return false; } return true; という、よく見る実装となる。どうして、Java には isInt() が存在しないのか、例外オブジェクトの生成は重いと聞くし、int文字列かどうかの判定をしてから parseInt() したいのに・・・。 ・・・答えは、 「isInt() をもし実装したとすると、その内部処理は parseInt() とほぼ同一になるから

    Java に parseInt() はあるが、isInt() が無い理由 - kameidの備忘録 - Sharpen the Saw!
    fbis
    fbis 2014/02/03
  • JavaのString.formatいろいろ

    String.formatによる書式指定覚書 基 String.format("日は%sなり%s","晴天","!"); //日は晴天なり! 進数を変える //16進数 String.format("%x",12); //c String.format("%X",12); //C //8進数 String.format("%o",12); //14 桁区切りにカンマ String.format("%,d",10000); //return 10,000 桁数を合わせて、足りない桁は0詰め String.format("%04d",1); //0001 String.format("%04d",23); //0023 小数を指定の小数点以下の桁まで表示する String.format("%.2f",0.1); String.format("%.2f",0.0002); String.f

    fbis
    fbis 2014/02/03
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
    fbis
    fbis 2014/02/03
  • はてなブログ | 無料ブログを作成しよう

    あたらしく社会人になるひとへ 2026 2009年に、こんなエントリーを書いていました。 hase0831.hatenablog.jp 当時と今ではかなり時代が進んでいて、出社する機会が減ったり、AIの活用が当たり前になったり、働く環境がガラッと変わりましたね。人間がやるべき仕事は何か?をより深く考える、というのを新…

    はてなブログ | 無料ブログを作成しよう
  • 別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela

    HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。 Google App Engine (GAE)でJavaがサポートされ、 PythonはスルーしたけどJavaならやりたい!でもJava未経験! GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま 放置した状態になっていませんか? 僕はそうです! Java使えたら楽しいだろうなー Java覚えて仕事の案件こなしたいなー Java使えたらオブジェクト指向がもっとわかるだろうなー リア充へのあこがれ と、常々思っていつつも、Javaの最初の面倒臭さの前にいつもやる気喪失するんですよね。 HelloWorldひとつやるのにpublic static void main()書くなんて面倒臭すぎです コンパイルなんて面倒でやってられません eclipseの使い方憶えるのが面倒だし ecli

    別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela
    fbis
    fbis 2009/11/30
    おお、懐かしい。紹介の仕方一つでこれだけブクマって集まるんだねw
  • Perlを編集しながら評価できるEditor - しがないプログラマ の日記

    http://twitter.com/monjudoh/status/2038844182 この発言に触発されて、あると便利だよなぁと作ってみました。 とりあえずなので、上のペインで Ctrl+Enterを押すと書いてあるコードが Perlでevalされて下のペインに表示されます。選択している場合には選択していた場所だけが実行されます。機能はそれだけです。 Perlの評価部分に関しては以下の ipl.batを拝借しています。 日記帳だ! with Tux on Libserver :: irbをパクってiplを完成させてみた 以下の2つのファイルがコードの全体です。 実行するには、Perl5.10とJava6*1が必要になります。 MainFrame.java import java.awt.event.*; import java.io.*; import javax.swing.*;

    Perlを編集しながら評価できるEditor - しがないプログラマ の日記
  • PHPの良さである$_GETや$_FILESをJavaで実装する - よねのはてな

    PHPで開発する際はvar_dumpを連発させてる米村です、こんにちは。 PHPはなんといっても、$_GET, $_POST, $_SESSION, $_FILESあたりが強烈に分かり易さと手軽さを表現してるのではないかと思います。 <?php $arg1 = $_GET['arg1']; $_SESSION['arg1'] = $arg1; $file = $_FILES['file']; もちろん「?>」の閉じタグはつけないですよね。 Javaで同様の処理を行うと以下のようになり、ファイルアップロードの実装も含めるともっと記述が増えます。 package jp.co.abby.examples; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Htt

    PHPの良さである$_GETや$_FILESをJavaで実装する - よねのはてな
    fbis
    fbis 2009/04/09
    面白い。が良さであるかどうかは疑問でもある。
  • ゆの in Java - 矢野勉のはてな日記

    Java確かにJavaゴルファーとかゆの in Javaとかはあまり見かけないけど(後者は演算子オーバーロードできないのが痛いな)、404 Blog Not Found:make love || halt # 言葉遊びがない言語なんて... public class Yuno { static final int X = 1; static final int _ = 1; static { Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread t, Throwable e) { if(e instanceof AssertionError) System.out.println("ひだまりスケッチx365

    fbis
    fbis 2008/07/11
    ちょーいwふいたw
  • PerlよりRubyよりJavaがサラブレットなんです。 - オレドコBlog

    出張日数、下着枚数、ヤング図形 出張に下着(以下、パンツ)の持参は必須である。 lambtani.hatenablog.jp 私は、感染症に関する学会で感染症が蔓延し、下痢症状者が続出したという教訓から、下とパンツだけは、忘れないようにしている。 そこで問題になるのは、いくつのパンツを持っていくか、であ…

    PerlよりRubyよりJavaがサラブレットなんです。 - オレドコBlog
    fbis
    fbis 2008/06/26
    "銀行のシステムの重要な部分がPerlやRubyでできてると知ったら、オレドコその銀行解約するわ。"どう考えてもセキュアかどうかの方が重要でしょう。
  • 「怠慢はプログラマの美徳」というけれど - kなんとかの日記

    JavaJava信者とスクリプト言語屋の間には、「めんどくさい」と感じるセンスについて超えられない壁が存在している。 質的でない事柄に関する記述があったときに、スクリプト言語屋は「めんどくさい」と感じ、JavaJava信者はそれを感じないか、または「これは必要な冗長性だ」と気で思い込んでいる。 前にとり上げたけど、アクセッサの記述がその典型例。質的でない記述がずらっと並んでいることに、JavaJava信者はホントに何も感じないのだそうだ。あれがどれだけ readability を下げているか、まったく分かっていない。 また System.out.print() もそう。たかが print 文のくせして、なんで System.out.print() と書かないといけないのか。来であれば、Java1.5 のタイミングで package java.util; public clas

    「怠慢はプログラマの美徳」というけれど - kなんとかの日記
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    fbis
    fbis 2008/04/25