タグ

javaとlangに関するamberjack115のブックマーク (11)

  • Java8で最もインパクトのある構文拡張、デフォルトメソッド - きしだのHatena

    Java8でのラムダの使い方などを説明してきたのですが、構文拡張自体には触れていなかったので、改めてここで簡単に説明しておこうと思います。 まずは、Java8で実際に最もインパクトがある言語拡張、インタフェースのデフォルトメソッドです。 デフォルトメソッドとデフォルト実装 いままでインタフェースには実装をもつことができませんでしたが、Java 8からはインタフェースが実装をもてるようになります。 実装をもつメソッドを定義するときには、キーワードdefaultをメソッドの前につけます。 interface Foo{ void print(String s); default void twice(String s){ print(s); print(s); } } twiceメソッドが実装をもっています。この実装をデフォルト実装といいます。 デフォルトメソッドを実装するクラスで、デフォルトメ

    Java8で最もインパクトのある構文拡張、デフォルトメソッド - きしだのHatena
  • Tiger (Java2 SE 1.5) の Java 言語仕様の拡張

    Java 言語は、 SUN の配布する次の Java 2 Platform, Standard Edition 1.5 (以下、J2SE 1.5) から その言語仕様に大きな修正が加えられる予定だ。 その内容を SUN のエンジニア Dr. Joshua Bloch が 紹介するページが公開された (ここ)。 J2SE 1.5 で Java 言語仕様に追加される予定の機能は大きく6点。 Generics Enhanced for loop Autoboxing/unboxing Typesafe enums Static import Metadata ただし、仕様は決定ではないので、まだ変更される可能性がある。 1. Generics すでに予告されたように C++template のような generic type が 言語仕様に追加される。 従来の JDK のライブラリでは、

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

  • メタデータ

    作成 2005/1/12 EclipseもそろそろJ2SE5対応になってきたので、J2SE5の新機能に、いろいろ触りはじめてみる。まずはメタデータから。 メタデータとかアノテーションって? J2SE5から、Javaソースコードにアノテーションを使って、メタデータを埋め込むことができるようになりました。 メタデータは、データに関するデータです。Javaでいうと、Javaソースコード自体についてのデータになります。英語で、メタ○○というと○○をあらわす○○という風の意味らしいです(メタモデルはモデルのモデル、メタメタモデルはモデルのモデルのモデル)。 Javaソースコードにメタデータを埋め込むには、アノテーション(注釈)を記述します。例えば、似たような仕組みに、JavaDocのタグがあります。@param、@returnといった記述がアノテーション。アノテーションによって埋め込まれたデータがメ

  • Java言語規定 第二版

    目次 | 前 | 次 | 索引 Java言語規定 第2版 Java言語規定 第2版 目次 序文 0. 標準情報としての導入 0.1 適用範囲 0.2 定義 1. はしがき 1.1 プログラム例 1.2 記法 1.3 既定義のクラスとインタフェースとの関係 1.4 引用規定 2. 文法 2.1 文脈自由文法 2.2 字句文法 2.3 構文文法 2.4 文法記法 3. 字句構造 3.1 Unicode 3.2 字句変換 3.3 Unicodeエスケープ 3.4 行終端子 3.5 入力要素及びトークン 3.6 空白類 3.7 注釈 3.8 識別子 3.9 キーワード 3.10 リテラル 3.10.1 整数リテラル 3.10.2 浮動小数点リテラル 3.10.3 論理値リテラル 3.10.4 文字リテラル 3.10.5 文字列リテラル 3.10.6 文字及び文字列リテラルのためのエスケープシーケン

  • JetBrains

    We make you a better (professional) software developer.JetBrains creates intelligent software development tools consistently used and trusted by 11.4 million...

    JetBrains
    amberjack115
    amberjack115 2011/08/16
    Java7 言語仕様の変更点
  • Closures (Lambda Expressions) for the Java Programming Language

    Closures (Lambda Expressions) for the Java Programming Language Closures for Java "BGGA" project (by Gilad Bracha, Neal Gafter, James Gosling, and Peter von der Ahé) BGGA closures specification: Closures for the Java Programming Language (v0.5) Doug Lea's jsr166y fork-join concurrency framework: without function types and with function types. Get the code here. Latest openjdk prototype: http://www

  • 新プログラミング言語「Kotlin」登場 - Javaに新しい選択肢 | エンタープライズ | マイコミジャーナル

    Project Kotlin is the codename for a statically-typed JVM-targeted programming language developed by JetBrains JetBrainsは7月20日(ロシア時間)、工業利用を想定して開発された新しいJava仮想マシン向けのプログラミング言語「Kotlin」を発表した。KotlinJavaと同じ静的に型付けされたプログラミング言語。文法もJavaと似ている。Java SE 8で導入されることになる機能や、Javaには導入されていない機能がすでに導入されている。現実的に普及する可能性があるプログラミング言語として興味深い。 JetBrainsJavaの統合開発環境であるIntellJ IDEAを開発している企業。Javaのみならずほかのプログラミング言語向けの開発ツールも開発しており、J

  • org.codehaus.groovy.runtime.ArrayUtil.java

    /* * Copyright 2003-2009 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed

  • Groovy - Wikipedia

    Groovy(グルービー)は、Javaプラットフォーム上で動作する動的プログラミング言語である。 Groovy の処理系はオープンソースソフトウェアであり、James Strachan と Bob McWhirter らを中心に、オープンソース開発サイトであるコードハウス上で、2003年8月27日に開発が開始された(CVSへの最初のコミットがなされた)。その後、開発の主体は Guillaume Laforge と Jeremy Rayner らに移り開発が続けられている。2015年3月31日までは Pivotal がスポンサー企業となり、開発者をフルタイム雇用していたが、3月末を以て終了し、Apacheソフトウェア財団の管理に移行した[2]。 概要[編集] GroovyはJVM上で動作する言語処理系および言語の名称であり、Javaとの直接的な連携を特徴とする。例えばGroovyからすべての

    Groovy - Wikipedia
  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • 1