タグ

javaとtipsに関するUDONCHANのブックマーク (7)

  • java.util.Dateをjava.sql.Dateにきちんと変換する方法 - ひがやすを技術ブログ

    多くの人はこうやればいいと思っているかもしれません。 java.util.Date d = new java.util.Date(); java.sql.Date d2 = new java.sql.Date(d.getTime());確かにこれでも一応変換はできますが、きちんと変換してはいません。java.sql.DateのJavadocを見るとこう書いてあります。 SQL DATE の定義に対応させるために、java.sql.Date のインスタンスでラップされたミリ秒の値は、インスタンスが関連した特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定することで、「標準化」する必要があります。 つまり、java.util.Date#getTime()をjava.sql.Dateにただ渡すだけでは不十分で、「特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定しなければいけない」のです。そ

    java.util.Dateをjava.sql.Dateにきちんと変換する方法 - ひがやすを技術ブログ
  • 結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer

    【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また

    結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer
  • J2SE 5.0 Tiger 虎の穴 Typesafe Enum

    Java で C/C++ の enum 型がないと嘆いている方は多いのではないでしょうか。 単に enum を導入するのは私は反対でした。というのも、enum 型には潜在的な問題があると思うからです。enum 型は結局 int 型と同じに扱われてしまうので、範囲のチェックなどやってくれません。たとえば typedef enum {ALPHA, BETA, GAMMA, DELTA} alpha; alpha a = ALPHA; // OK alpha b = 1; // OK だけども、BETA のことだと誰が分かる alhpa g = 7; // OK だけども、当は定義していない

  • J2SE 5.0 Tiger 虎の穴 Generics

    Generics はすでに雑誌などで解説記事が書かれているのでご存知のかたも多いかと思います。 Generics というのは C++ のテンプレート機能のような機能で、ひとことでいえばクラス (インタフェース)、メソッドのパラメータ化ということができます。 といってもよく分からないですね。 それでは実際に例を示しましょう。 コレクションは要素を Object クラスのオブジェクトとして保持するために、使うときにはいちいちキャストを行わなくてはいけません。 List list = new ArrayList(); list.add(new Integer(10)); int x = ((Integer)list.get(0)).intValue(); // キャストが必要

  • Javaの匿名クラスを使ってかっこよくオブジェクトを初期化するテクニック - 矢野勉のはてな日記

    JavaJavaの匿名クラスはすごくかわしいかわいい技術でいろいろキモイことができます。匿名クラスは基的に「サブクラス生成のための特殊記法」であって、クロージャではありません。匿名クラスとクロージャを対比して云々するのはそもそも誤りです。なんならクロージャでサブクラス作ってみなよってことです。匿名クラスによって、Javaではなにかのサブクラスを任意の場所で即座に作り出すことが出来るんです。なにかのクラスのメソッドを三つほど書き換えた新しいクラスをさっと作れるのは、なかなか面白い機能ですよ。 その匿名クラスを利用したカッコイイ(でも使うのは躊躇されている)記法として、次のようなのがあります。(追記:この用法はヨシオリさんところで見たのが最初です) List list = new ArrayList() {{add("a"); add("b"); add("c");}}; Javaには「初期

  • Wicket - Java - @//メモ

    2024-03-202024 21.7% (79.4/366) March 62.7% (19.4/31) Week 12 34.9% (2.4/7) Day 20 Wed 44.8% (10.7/24)

  • プログラムのライフサイクルやイベント駆動を知る

    前回の「コメントと制御文でJavaプログラムに“命”を吹き込め!」までで、駆け足ですがJavaプログラミングの基中の基を学びました。 まだ学ばなければならない基は残っていますが、基ばかりが続いてもモチベーションが下がってしまうでしょう。なので、今回は、どのようにしてプログラム全体を組み立てるか、という視点に基づいてケータイ(連載では、携帯電話/PHS/スマートフォンなどの端末をまとめて「ケータイ」と表記します)Javaプログラミングを解説します。 すべては「エントリポイント」から始まる 実行可能なプログラムなら、どんなプログラムでも、プログラムが開始する場所があります。そしてその場所は、プログラミング言語やプログラムの種類によって決まっています。 今回も、例によって連載第1回「あなたの携帯電話でJavaアプリは動きますか?」でデモしたテトリスみたいなゲーム「Trimis」のアプレ

    プログラムのライフサイクルやイベント駆動を知る
  • 1