Javaプログラミング/Javaプログラミング関連情報

Java5の新文法をマスターしよう

既にJava6の時代となりつつある今。Java5からサポートされた新文法についてしっかり理解しておきましょう。

執筆者:掌田 津耶乃

総称型とは?


本年度前半に皆さんからのご意見を募ったアンケート調査を行ないました。その中で、意外に多く見られたのが「Java5の文法についてやって欲しい」というご意見でした。Java5は既に登場から2年が経過し、既に広く浸透しているはずですが、多くの人は「Java2の最新バージョン」といった使い方しかしていないようです。Java5の新しい文法を使いこなしているのは案外と少数派なのかもしれません。そこで、Java5の新しい文法の中から重要なものをピックアップして整理しておくことにしましょう。

まずは、もっとも重大な変更である「総称型」についてからです。これは原語で「Generics(ジェネリックス)」と呼ばれるもので、コレクション・フレームワークなど汎用的なデータを多数扱うクラスで、利用可能な型を確定するための仕組みです。……といっても、なんだかわかりませんね。

Javaには、「多数のオブジェクトを管理するためのクラス」というのがいくつかあります。ArrayListやVectorなどのことですね。これらは、「コレクション・フレームワーク」と呼ばれるもので、多数のオブジェクトを一まとめにして保管したり、取り出したりできます。

これらは非常に便利なものですが、しかし「なんでも入れられる」というのが逆に困ったことになる場合もあります。例えば、こんなものを考えてみましょう。

import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  
  public static void main(String[] args) {
    MyData mydata = new MyData();
    mydata.list.add("Welcome");
    mydata.list.add("to");
    mydata.list.add("Java.");
    mydata.printAll();
  }
  
}

class MyData {
  public ArrayList list = new ArrayList();
  
  public void printAll() {
    Iterator iterator = list.iterator();
    while(iterator.hasNext()) {
      String s = (String)iterator.next();
      System.out.print(s + " ");
    }
  }
}


MyDataにいくつかの値を保管し、それを出力するという簡単なサンプルです。これを実行すると、"Welcome to Java."といったテキストが出力されます。まぁ、これはわかりますね。

上のコードはかなり問題がありますが、それについては脇においておきましょう。ここで注目して欲しいのは「MyDataのlistには、String以外の値も収めることができる」という点です。


  • 1
  • 2
  • 3
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます