JavaA2Z

KAB-studio > プログラミング > JavaA2Z > トークンとは

トークン

日本語 単語、証明
英語 token
ふりがな とーくん
フリガナ トークン

解説

コインのようにバラバラと置かれている物。
主に2つの意味がある。
 
ひとつは「文の中の単語・構成要素」。
 
文の中の単語や記号、数値等を「トークン」と言う。
たとえば、StringTokenizerクラスは「文」を分割し、中に含まれている「単語(トークン)」を取り出すクラスである。
 
また、プログラムの単語、つまり識別子、記号等を「トークン」と言う。
コンパイルエラーエラーメッセージに書かれている「トークン」はこの意味である。
 
もうひとつの意味は「証明」。
 
データの正当性を証明したり、正しく処理がわれているかどうかを証明するためのデータ(主に文字列)を「トークン」と言う。
たとえば、サーブレットにおいて、正しく画面遷移がなされているかを証明するためのデータを「トランザクショントークン」という。前画面で「トークン」を発し、次画面でそのトークンが正しいかどうかを確認することで、まったく異なる画面からの遷移や、同じ画面の二重処理を防ぐことができる。
この意味の「トークン」は、イメージとしては、許された者にだけ渡される「コイン」のようなものである。「トークン」は特別な絵柄の描かれたコインで、それを見せることで普段は入れない店に入れる、というイメージである。
 
このふたつは同じ「token」という単語だが、基本的に意味が異なるため注意。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.util.StringTokenizer;

public class Sample
{
    public static void main( String[] args )
    {
        // StringTokenizerクラスの場合。
        {
            // 文字列を分割します。
            // 分割はコンストラクタで速攻行われます。
            // 第1引数に対象の文字列を渡します。
            // 第2引数に分割文字列を渡します。
            String source = "あああ いいい ううう";
            String delimiter = " ";
            StringTokenizer stringTokenizer = new StringTokenizer( source, delimiter );
            // もう取得する要素がないとhasMoreTokens()メソッドはfalseを返します。
            while( stringTokenizer.hasMoreTokens() )
            {
                // 分割した各要素を取得します。
                String current = stringTokenizer.nextToken();
                // 出力します。
                System.out.println( current );
            }
            // あああ
            // いいい
            // ううう

            // 文の中の「単語」をトークンと言い、それを分割して
            // 取り出すのがStringTokenizerクラスです。
        }

        // プログラムの「トークン」の場合。
        {
            // int = 100;
            // コンパイルエラー:
            // トークン "=" に構文エラーがあります。
            // 正しくは "Identifier" です。

            // これは、「=」という「トークン」がintの次に
            // 来てはいけない、来るのは「識別子」のはず、
            // という意味です。
            // このように、プログラム内の単語を「トークン」
            // と言います。
        }
    }
}
// Sample.java
import java.util.StringTokenizer;

public class Sample
{
    public static void main( String[] args )
    {
        // StringTokenizerクラスの場合。
        {
            // 文字列を分割します。
            // 分割はコンストラクタで速攻行われます。
            // 第1引数に対象の文字列を渡します。
            // 第2引数に分割文字列を渡します。
            String source = "あああ いいい ううう";
            String delimiter = " ";
            StringTokenizer stringTokenizer = new StringTokenizer( source, delimiter );
            // もう取得する要素がないとhasMoreTokens()メソッドはfalseを返します。
            while( stringTokenizer.hasMoreTokens() )
            {
                // 分割した各要素を取得します。
                String current = stringTokenizer.nextToken();
                // 出力します。
                System.out.println( current );
            }
            // あああ
            // いいい
            // ううう

            // 文の中の「単語」をトークンと言い、それを分割して
            // 取り出すのがStringTokenizerクラスです。
        }

        // プログラムの「トークン」の場合。
        {
            // int = 100;
            // コンパイルエラー:
            // トークン "=" に構文エラーがあります。
            // 正しくは "Identifier" です。

            // これは、「=」という「トークン」がintの次に
            // 来てはいけない、来るのは「識別子」のはず、
            // という意味です。
            // このように、プログラム内の単語を「トークン」
            // と言います。
        }
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/11/25
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。