タグ

2014年6月24日のブックマーク (8件)

  • はてなブログ | 無料ブログを作成しよう

    コンビニ勢力地図2024-2025 三重にファミマが多くないか? このところ三重県と愛知県に行く機会が多かったのだが、車で国道を走ってるとやたらファミマを見る気がしていた。地域によってコンビニの種類に偏りがあるとは思っていたが、実際どうなのか。調べてみたのでお伝えしたい。 これが日国…

    はてなブログ | 無料ブログを作成しよう
    tohokuaiki
    tohokuaiki 2014/06/24
    PHPのnew $classNameみたいなのをやるのは意外と面倒
  • How to select saxon TransformerFactory in Java

    tohokuaiki
    tohokuaiki 2014/06/24
    XSLのエンジンを変更する方法
  • コンストラクタで例外を発生させるかどうか - ぱせらんメモ

    コンストラクタで例外を投げたい状況が出てきた。 あるオブジェクトを生成するにあたって必要なデータをコンストラクタの引数として渡すのだが、渡された引数がそのオブジェクトに相応しくない場合(nullとか)には当然例外を投げたくなるよな。 投げたいなら投げればいいじゃないのと思うかもしれないが、何故素直に投げられないかというと、一般に「C++ではコンストラクタから例外を投げるのは良くない事」という風潮があるから。なのでJavaでもやってはいけないのではないかと歯止めがかかってしまう。 なぜC++ではコンストラクタで例外を投げないほうが良いのかというと、デストラクタが呼ばれないのでメモリリークを起こす可能性があるからというのが主な理由だと思われる。 メモリリークを起こさないためにはデストラクタに頼ることなくコンストラクタ内で後始末を済ませてから例外を投げてやれば良いわけだが、面倒くさいからなのかミ

    コンストラクタで例外を発生させるかどうか - ぱせらんメモ
  • コンストラクタは例外を投げるべきか?

    「プログラミングの禁じ手Web版 C++編」では、コンストラクタから例外を投げることは、プログラミングでやってはいけない「禁じ手」の1つとされています。 しかし、私はむしろ、コンストラクタは例外を投げるべきだと考えています。 クラスを設計する際には、オブジェクトが存在しうる最低限の条件を考えます。これは、クラスの役割や位置付けによって決まります。 コンストラクタでは、その最低限の条件を満たすまでに必要な処理を行います。その途中でエラーが起きれば、オブジェクトの生成は失敗です。この時、オブジェクトの生成が失敗したということを表すために、積極的に、コンストラクタは例外を投げるようにするべきだと思います。 例えば、「夫婦」というクラスを作るとしましょう。「夫婦」は、夫という「人」と、という「人」の、2人の関係を表すクラスです。 「夫婦」は、夫との2人がいて、初めて成立します。つまり、2人の「

  • javaでBufferedReaderのreadLineで改行コードも取得させる。

    javaのBufferedReaderクラスのreadLineメソッドは、実行して次の改行コードまでの文字列が戻り値に返ってくるが、改行コードは含まれない。 仕事で、ちょっとしたテキストファイルのデータ置換ツールを作成していたのですが、 そのテキストファイルは、Macで編集している人がいたり、Windowsで編集している人がいたりで、改行コードがバラバラなのです。 テキストファイルのデータの読み込みは、前述のBufferedReaderクラスのreadLineメソッドで行なっていますが、改行コードが含まれず、置換後のファイルを保存する時は、改行コードはデータ置換ツールの実行する環境に依存します。 なので、データ置換ツール実行前後の差分を確認する際に、改行コードが以前の改行コードでないから、どこがデータ置換ツールの変更対象かが分かりにくい、という問題が発生しました。 (gitのコミット前に、

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Java総称型のワイルドカードを上手に使いこなすための勘所 - 達人プログラマーを目指して

    Java5以降では総称型(generics)がJava言語に導入されています。総称型自体は、最近の静的な型付けのプログラミング言語で珍しいことではなく、現在の最新版では.NETのC#やVisual Basicにも導入されています。一般的には総称型をサポートするクラスライブラリを自分で正しく定義することは非常にスキルがいるが、事前に定義されたクラスを使うだけであれば、それほど難しくないとされています。しかし、Java言語の総称型はエントリで説明するように特殊なところがあり、単に利用するだけでも他の言語に比べて遥かに難しいところがあるというのも事実です。特に総称型をパラメータ化する際に指定するワイルドカード型(List<? extends Serializable>など)の意味を正しく理解して使いこなすことは簡単なことではありません。その結果、昔のJDK1.4までのように型パラメーターのない

    Java総称型のワイルドカードを上手に使いこなすための勘所 - 達人プログラマーを目指して
  • Java総称型メモ(Hishidama's Java Generics Memo)

    メソッドの総称型 メソッドのみに総称型を適用した定義を行うことも出来る。[2007-06-12] 戻り値の型の直前に「<仮型引数, 仮型引数…>」を置くだけ。後はクラスの場合と同様。 public static <T> T notNull(T arg1, T arg2) { T ret; if (arg1 != null) { ret = arg1; } else { ret = arg2; } return ret; } このメソッドを呼び出す側は、クラスの場合とは異なり、明示的に型引数を指定する必要は無い。 指定した引数の値に応じて、自動的に型が判断される。 String s = notNull("abc", "def"); //型引数はString Long l = notNull(new Long(1), new Long(2)); //型引数はLong int i = notNu