タグ

javaに関するsakura-1のブックマーク (9)

  • Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記

    Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやってきて得た考え方を紹介します。「Scalaをちょっとやってみたんだけど、とっつきにくくて…」と思われている方は、ぜひご一読ください。 参考資料: Scala入門 - Scalaで書きはじめたJava使い向け - Scala勉強会@東北 Dropbox - 404 神は言われた。「リストあれ。」 Lisperは、リストをどう作るかをまず考えるらしいです。適切なリストが出来たら、プログラムはもうできたも同然だと。同じ考え方は、Scalaでも通用すると思います。 大まかに、こんな流れで考えてます。(リストは最初から与えられることもあるでしょう) 「

    Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記
    sakura-1
    sakura-1 2010/03/18
    内容がまとまっててよみやすかったです。
  • 自己言及するジェネリクス

    先日、Strategyのインスタンスをenumで扱うで取り上げたようにJavaのenumはメソッドを宣言することができます。JavaSE5.0でenumを追加する際、既存の型システムを利用して作られているため、Javaのenumはクラスなのです。 このenumの親クラスとなるのがjava.lang.Enumクラスなのですが、宣言が変わっていて、ジェネリクスの型パラメータが自身の拡張なのですね。 Enum<E extends Enum<E>> これと同じような構造を持つクラスを作った場合、型安全にインスタンス化できません。 public class Hoge<H extends Hoge<H>> { public static void main(String[] args) { Hoge<Hoge<Hoge<...>>> hoge = new Hoge<Hoge<Hoge<...>>>()

  • Javaメモ目次(Hishidama's Java Memo)

    Javaの基礎(というか入門的な内容)から ちょっとした応用までをメモしています。 単純にJavaと言っても、場合によってソースを書く際の文法・ライブラリ(クラス)の使用方法・GC(ガベージコレクション)等のJavaVMの機構/動作など様々な事柄を含みます。 コンパイル・実行関連 [/2025-03-19] 文法関連 [/2024-09-23] ライブラリー関連 [/2025-03-19] サードパーティー関連 [/2022-11-11] 定石 [/2021-03-21] 新機能 [/2025-03-19] プレビュー版機能 [/2025-03-19] キーワード(抜粋)一覧 参考書

    sakura-1
    sakura-1 2009/10/30
    [便利] javaのポイントをしりたいときに便利
  • リフレクション

    作成 2002/1/12 なんとなくリフレクションについて簡単にまとめてみようと思います。 リフレクションとは? とりあえず動かしてみる(あそぶ) 例1:ToStringer 例2:FormatUtil DynamicProxy 1.4はどんだけ速い?(書かないうちに1.5になりそう) リフレクションとは? リフレクション(Reflection)は、 Javaクラスからフィールドやメソッドなどの情報を取得する APIです。 取得したメソッドを実行することもできます。 APIjava.lang.reflectパッケージにあり、 クラスも少なく、ちょっと使う分には、それほど難しくありません。 使われる場面は、主にフレームワーク、開発ツール だと思われますが、ちょっとしたユーティリティークラスでも 使うと便利な場合もあります。 使うと便利なんですが、コードが複雑になる (しかもコンパイラやリフ

    sakura-1
    sakura-1 2009/10/28
    [refrect] [リフレクション]
  • ObserveEclipse - GEF

    2005/01/07:PDEにリソース・マーカーを使用するを追加。又、RCPを使用したスタンドアロンGEFアプリケーションでソースの一部(パースペクティブ・ファクトリ・クラス)が抜けていたのを修正。 もっと早くに更新するはずでしたが、ハードディスクが壊れてしまったもので年を越してしまいました…。

  • GEFでグラフィック編集プラグインを作る

    はじめに GEF(Graphical Editing Framework)は、その名の通り、モデルを「グラフィカル」に「編集」するアプリケーション(またはプラグイン)を作成するためのフレームワークです。この記事では、単純なGEFアプリケーションの作成を通して、GEFの概略と、その使用法を説明します。 対象読者 Eclipseプラグイン、およびDraw2Dを使用したアプリケーションを作成したことがある方。Draw2D、またはEclipseのプラグインについては、Eclipseのヘルプ、およびAPIドキュメントを参照してください。また、Draw2Dに関する詳細については、GEF SDKに付属するDraw2Dのプログラマーズ・ガイドを参照してください。 必要な環境 サンプルは、Eclipse SDK 3.0.1、およびGEF SDK 3.0.1を使用して作成しました。それ以前のバージョンでは動作

    GEFでグラフィック編集プラグインを作る
  • Java定数メモ(Hishidama's Java Constant Memo)

    エスケープシーケンスとUnicodeエスケープは似て非なるもの。[2008-08-30] →処理の差異 不変の変数 finalで宣言して初期値を与えた変数は、定数として扱える。[2008-06-22] なお、定数として扱う場合は、変数名は全て大文字にするのが慣例。 public static final int BASE_YEAR = 1970; この変数には後から値を代入することが出来ない。(finalが付いていると、代入できなくなる) 代入できない→値が不変(固定)→定数 →switch文で使う場合の注意 →他言語の定数の定義方法 ただし、オブジェクト(参照型)の場合は、必ずしも固定(不変)というわけではない。 final Map SAMPLE_MAP = new HashMap(); 変数SAMPLE_MAPには新しいMapを代入することは出来ない。しかしSAMPLE_MAP内に値を

    sakura-1
    sakura-1 2009/10/04
    ArrayList
  • 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変数)と同様。 (したがって、アルファベット大文字を使

    sakura-1
    sakura-1 2009/10/04
    配列
  • javaの修飾子final - rderaログ

    javaの修飾子finalは3つのことができます。 変数の値を変更できないようにする。 サブクラスによるメソッドのオーバーライドを防止する クラスを継承できなくする 一つ一つ説明していこうと思います。 変数の値を変更できないようにする finalという修飾子を付けて宣言した変数は変更できません。一度だけ値を代入できます。 例えば final int x = 1; x = 2 //エラー は怒られます。 final 変数 x に値を代入することはできません。 x = 2;プログラム中で使う定数とか、間違って値を変更したら困る変数にはfinalを付けて宣言すれば良いですね。 配列にfinalを付けて宣言する場合、ちょっと事情が違います。 1 class test{ 2 public static void main(String[] args){ 3 final int[] x = {0,1,

    javaの修飾子final - rderaログ
  • 1