@634

java.lang.String

Advertisement

説明

Javaでは文字列をオブジェクトとして管理する。Stringクラスは変更不可能な文字列を管理する。

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/String.html(リンク先:java.sun.com)。

使ってみる

いろいろな方法でStringオブジェクト生成。
public class Test{
    public static void main(String args[]){
        //その1
        String str1 = new String("いち");

        //その2
        String str2 = "に";

        //その3
        char[] ch = {'さ','ん'};
        String str3 = new String(ch);

        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
    }
}
結果発表
いち
に
さん
他にもあるけど、とりあえず3個。

length()メソッド

length()は文字数を返す。
public class Test{
    public static void main(String args[]){
        String str1 = new String("いち");
        String str2 = new String("two");

        //長さ調べ
        System.out.println("str1 : " + str1.length() + " 文字");
        System.out.println("str2 : " + str2.length() + " 文字");
    }
結果
str1 : 2 文字
str2 : 3 文字
Javaでは文字コードがUnicodeだから日本語でもアルファべットでも1文字は1文字。

equals()メソッド

equalsは文字列の比較。大文字小文字を区別する。
public class Test{
    public static void main(String args[]){
        String str1 = new String("one");
        String str2 = new String("one");
        String str3 = new String("One");

        //比較
        System.out.println(str1 + " と " + str2 + " は "
             + (str1.equals(str2)?"equals 成立":"equals 不成立"));

        System.out.println(str1 + " と " + str3 + " は "
             + (str1.equals(str3)?"equals 成立":"equals 不成立"));
    }
}
結果
one と one は equals 成立
one と One は equals 不成立
大文字小文字を区別したくない場合はequalsIgnoreCase()メソッドを使う。

charAt()

文字列の任意の位置の文字を取得。
public class th{
    public static void main(String args[]){
        String str1 = new String("こんにちは");

        System.out.print(str1.charAt(0));
        System.out.println(str1.charAt(3));
    }
}
結果は
こち
0番目(先頭)の文字と、そこから3個目の文字の取り出し。

ちなみに文字列の長さ以上の引数を渡すとStringIndexOutOfBoundsException例外が発生する。length()で長さチェックしてから使うのがよい。

実験

Stringクラスのオブジェクトに + 演算子を適用すると文字列結合になる。
オブジェクトで管理してる文字列が変更されるわけではなくて、結合された文字列を管理する新しいオブジェクトが生成される。そこ結構重要。
実験
public class Test{
    public static void main(String args[]){
        String str1 = new String("abc");
        String str2 = new String("xyz");
        String str3;

        str3 = str1 + str2;

        System.out.println(str3);
    }
}
結果
abcxyz

Advertisement

ショートカット

634
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール