タグ

2009年12月25日のブックマーク (7件)

  • Java にメソッド引数デフォルト値は存在しない - kameidの備忘録 - Sharpen the Saw!

    存在するのかしないのか、私自身も、C++ と混同していて、Java で使ったことはないけど(オーバーロードは使ってたけど)、実はあるんだっけ?となって即答出来なかったのでメモ。 C++ には存在するが、Java には存在しないというのが答え。JavaHouse-Brewers ML にそれに関する議論があった。 http://java-house.jp/ml/archive/j-h-b/042280.html#body から始まる一連のスレッドがそれ。なんで無いかという理由は、引数デフォルト値は読みにくくなる、「一つの目的のための実現手段が複数あり、なおかつ無視できないほど相互に干渉する」・・といったところ。 class A { void foo() { foo(10); }; void foo(int param = 10) { : }; }; コンパイラも困っちゃうでしょ、ということ。

    Java にメソッド引数デフォルト値は存在しない - kameidの備忘録 - Sharpen the Saw!
    babydaemons
    babydaemons 2009/12/25
    C# 4.0の猿真似で追随しそうな気がしますが…
  • C#でデフォルト引数 - Kuna の逆行列

    ないんだよねー。欲しいんだよねー。 って思ってたら、C# 4.0でつくっぽい! http://ufcpp.jp/study/csharp/ap_ver4.html#optional オプション引数(optional parameter)って言うらしい。 これは待ち遠しい。

    C#でデフォルト引数 - Kuna の逆行列
  • [ThinkIT] DIxAOPコンテナ「Seasar2とSpring」 第5回:AOPとは何か (1/4)

    AOPとはアスペクト指向に基づいたプログラミングのことです。しかし「アスペクト指向」や「それに基づいたプログラミング」とは何でしょうか。 今までにAOPについて様々な文献を読んでみたけれど、よく理解できなかったという方もいらっしゃるのではないでしょうか。何を隠そう、筆者も最初はよく理解できませんでした。 でも、それもそのはず、AOPを解説する人の多くは、アスペクト指向の思想や未来を含めて語っているからです。読者の多くは思想や未来はいいから、今の開発現場にAOPを取り入れると何ができるのか、取り入れると何がよいのかなどを知りたいのだと思います。今回はなるべく思想や哲学を除外した形でAOPの疑問に応えていきます(注1)。 ※注1: 連載ではアスペクト指向について用語も含め意訳して記述しています。アスペクト指向について正しく学びたい方は「アスペクト指向入門 千葉滋著 技術評論社」を是非お読みく

  • Java列挙型メモ(Hishidama's Java enum Memo)

    列挙型(enum)は、JDK1.5で導入された、一連の値を定義する文法。[2006-07-26] 一番単純な定義方法はC言語の列挙型に似ているが、C言語と違って実態はクラス(と、不変オブジェクト)。 enumはenumerate(イニュームレイトあるいはイヌームレイト)の略なので、発音としては「イニューム」が正しそうだが、自分は「イナム」「エナム」と呼んでいる。 最も単純な定義方法 enum 列挙名 { 列挙子, 列挙子, … } 列挙名は、クラス名(やインターフェース名など)と同様。 (したがって、publicの付いたenumの列挙名は、ソースファイル名と同じでなければならない。また、publicの付いたenumはソースファイル内に1つしか定義できない) 列挙子(enum定数)は、フィールド名の定数(クラス内のstatic final変数)と同様。 (したがって、アルファベット大文字を使

    babydaemons
    babydaemons 2009/12/25
    JavaのenumはC/C++とはかなり違う!値を指定したいときはコンストラクタを書けと。
  • log4j 1.2.14のLoggerの拡張

    デフォルトのLoggerは優秀なのだが、 メソッドの開始ログを出力するメソッドが欲しい リソースバンドルのキーを与えるとメッセージを取ってきてくれるメソッドが欲しい といった拡張もしたくなる。 これまではLoggerクラスをラップして新しいクラスを作り、ラップクラスの中では、loggerを持っていて、処理をloggerに委譲してい た。このやり方だと、getLoggerの引数にLoggerを使うクラスの完全修飾名を与えた場合、ラップクラスを使うクラスの数だけ、ラップクラスが newされてしまう。 Loggerは内部でLogManagerとLoggerRepositoryを使って、作成したLoggerの重複を管理していると思うのだが、これをサブクラスで実装しても、 Loggerでも管理してまーす ラップクラスでも管理してまーす となって気持ちが悪い。 こういう場合は、継承してメソッドを拡張す

    log4j 1.2.14のLoggerの拡張
  • Java Practices->Stack trace as String

    babydaemons
    babydaemons 2009/12/25
    なんでここまでやらないとスタックトレース文字列が取れないんだよ。orz
  • JavaのURLクラスを使いこなす:ウェブへ簡単にアクセス - builder by ZDNet Japan

    Javaのネットワーク関連のクラスを用いることにより、ネットワーク上またはリモートのマシンと通信を行うアプリケーションを実装することはできる。しかし、JavaプラットフォームはインターネットやURLといったレベルで処理を行う機能も有している。 JavaのURLクラスを用いることにより、ウェブリソースへのアクセスはローカルファイルへのアクセスと同じくらい簡単になるのである。ここでは、どのようにすればURLクラスの力をうまく引き出し、コネクションを介してデータの読み書きを行うことができるかを見てみよう。 URLクラスを扱う URLは、ウェブ上に存在するファイル、ウェブページ、ウェブアプリケーションのようなリソースを識別するために用いられており、多数の構文上の要素から構成されている。例として以下のURLを見て欲しい。 http://www.example.com:8080/mywebapps/A