タグ

2016年1月13日のブックマーク (8件)

  • ZetCode - Go, C#, Python, Java, JavaScript programming

    LatestJava volatile written Java synchronized written Java SQLite written Java Jdbi updated Java CountDownLatch written Java ZonedDateTime written Java Thread written Java Instant written Java AtomicLong written Java JAR written F# print functions written Tkinter Python programming ebook. AuthorMy name is Jan Bodnar and I am a passionate programmer with many years of programming experience. I have

  • 今さら聞けない!4つのステップで理解するJavaの列挙型Enum

    こんにちは。4月2日に発売される小室さんのソロアルバムが楽しみで仕方がないGTOです。 先日、Javaの方が圧倒的に実行速度が速いことが証明されたにも関わらず、社内は”ぺちぱー(PHPer。PHPを使っている人)”が増殖中。 そんな流れを断ち切って、もっとJavaに慣れ親しんでもらおうと、今回はJavaにおける定数の使い方をご紹介したいと思います。 目次 「Enumとは何か」から始まり「Enumを使った処理を共通化する」まで、ステップを踏んで理解していきましょう! 【STEP0】Enum(列挙型)とは 【STEP1】ごく簡単なEnum 【STEP2】Enumで名称を定義する 【STEP3】コード値から名称を取得する 【疑問】Enum毎に同じ処理を書かなければいけない? 【STEP4】Enumを使った処理を共通化する まとめ 手っ取り早くEnumを使った処理の共通化について知りたい方は、「【

    今さら聞けない!4つのステップで理解するJavaの列挙型Enum
  • enumをもうちょっと使う - しげるメモ

    enum basics - しげるメモで基的なことをおさらいしたので、私がよく使ってるenum関係のパターンをいくつか。 ステートパターンをenumで enumを使うようになってまず一番変わったのが、 private static final int SOME_STATE = 1; みたいな典型的なアンチパターンを書かなくなりました。これはステートパターンを非常に書きやすくなったためだと思います。 よくこんなコード書いてます。当はもうちょっとロック処理とかを書かないとだめですが、ステート部分は大抵こんな感じです。 public class Lifecycle { // 初期状態はINITIALに固定 private State state = State.INITIAL; // 外側に公開する状態遷移メソッド public void start() { state = state.st

    enumをもうちょっと使う - しげるメモ
  • enumの底力 - 所感・雑感・空気感

    2012-02-25 enumの底力 enumってなんぞ enumの基 enumはJava 5で導入された言語仕様(というか特殊なclass)で、他の言語でも見られるような、列挙子とか列挙型とか呼ばれるやつ。 static finalな定数をダラダラと書き連ねるのではなく、列挙型として1つのオブジェクトに集約しよう、というもの。 Bad Practice in the past enumが登場するまでは、static finalな定数をズラズラダラダラと書き連ね、switchやifで条件分岐を書いて…とかしていた。 例えば、int型を使って下記みたいに。 public class Fish { private static int TYPE_IKA = 0; private static int TYPE_TAKO = 1; private static int TYPE_SALMO

  • ジェネリクスの代入を理解する その1

    Javaのジェネリクスはかなり強力で、相当の型を表現できるのですが、 代償として非常に複雑なものとなっています。 ややこしいのは、オブジェクト指向の部分の型の代入互換性と、 ジェネリクス型パラメータの部分の代入互換性は、表現こそ似ているものの、 その意味するところはまるで違うと言うことにあります。 端的には、C extends B, B extends Aの関係があるとして、 型B にはサブクラスであるCをキャストなしに安全に代入することができます。 B b = new C(); しかし、ジェネリクス型パラメータの場合の List<B> listB = new ArrayList<C>(); はコンパイルエラーとなります。 List<? extends B> listBEx = new ArrayList<C>(); であれば代入が可能です。 このように、同じ継承階層の型を扱うのにもかかわ

  • 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ジェネリクス再入門 - プログラマーの脳みそ
  • インストールレスで Gradle してみる - bluepapa32’s Java Blog

    とっても便利な Gradle ですが、 実はわざわざインストールしなくても 誰でも簡単に Gradle できるということを皆さんご存知ですか? これは Gradle Wrapper という機能で ユーザーガイド (こちら) にもちゃんと記載されています。 ちなみに、この機能は Gradle 自身のビルドにも使われているのです。 ただ 『インストールしなくても...』というのは ちょっと語弊があるかもしれません。 と言うのも... この Gradle Wrapper の機能を利用にするには まず初めに build.gradle に task wrapper(type: Wrapper) { gradleVersion = '1.0-milestone-1' }を追加して Gradle がインストールされた環境で $GRADLE_HOME/bin/gradle wrapperのように wrap

    インストールレスで Gradle してみる - bluepapa32’s Java Blog
    tomzz
    tomzz 2016/01/13
  • Home | JetBrains のブログ

    各種 JetBrains コーディングツールを 2024.1 に更新できるようになりました 各種 JetBrains IDE 製品と VS 拡張機能を更新できるようになりました。 最新バージョンである 2024.1 には、ローカルで動作する AI を使用した行全体コード補完や新しいターミナルなど、よりスマートかつ高速な作業を可能にする多数の機能が搭載されています。

    Home | JetBrains のブログ