8.String | |
Stringクラスは文字列を扱うクラス。「System.out.println("ABCD")」といった"ABCD"は実はStringクラスのインスタンスだったのである。Stringクラスを使うと文字を置換したり、文字列を検索したりすることができるようになる。 Stringクラスの文字列は「+」演算子を使って結合することができるが、Stringクラス文字列は定数として扱われるため、文字列の長さが変わるような結合などを頻繁に行うと処理時間を要したりする。この場合には、StringBufferクラスを用いる。 |
|
import java.lang.String |
|
コンストラクタ | |
String() 空の文字列を作成する。 |
|
String(String org) 指定されたorgと同じ文字列を作成する。 |
|
String(char[] value) 指定された文字配列からなる文字列で初期化した文字列を作成する。 nullが与えられた場合にはNullPointerExceptionが投げられる。 |
|
String(char[] value, int offset, int count) 指定された文字配列からのoffset番目の文字からcountで指定された文字数の文字列を作成する。 valueがnullの場合にはNullPointerExceptionが投げられる。 offset, countが範囲外になった場合IndexOutOfBoundsExceptionが投げられる。 |
|
String(byte[] bytes, int offset, int count) 指定されたバイト配列からのoffset番目の文字からcountで指定された文字数の文字列を作成する。プラットフォームのデフォルト文字セットを使用して文字列に変換するため、プラットフォームによって文字化けする可能性もある。 |
|
String(byte[] bytes) 指定されたバイト配列から文字列を作成する。プラットフォームのデフォルト文字セットを使用して文字列に変換するため、プラットフォームによって文字化けする可能性もある。 |
|
メソッド | |
int | length() 文字列の文字数を返す。C++などと違って、Javaではunicode文字なので、感じなども1文字とカウントされる。 |
char | charAt(int index) index番目の文字を返す。最初の文字は0になる。indexが不正の場合はIndexOutOfBoundsExceptionが投げられる。 |
byte[] | getBytes() この文字列をバイト配列に変換する。プラットフォームのデフォルト文字セットを使用するため、他のプラットフォームでは文字化けする可能性がある。 |
boolean | equals(Object str) 指定したstr(strはStringクラス)と比較する。同じ文字列であればtrueが返される。大文字小文字は区別される。「==」演算子では参照先が同じかを比較する演算子なので、同じ文字列でもfalseが返される場合がある。したがって、文字列の比較にはequals演算子を使う。 |
boolean | equalsIgnoreCase(String str) 指定した文字列strと比較をする。同じ文字列であればtrueが返される。大文字小文字は区別されない。 |
int | compareTo(String str) Unicodeの辞書式に従って文字列を比較する。strの方が辞書の後にあれば負数が、strの方が辞書の前にあれば正数が返される。equalsメソッドでtrueが返される場合には0が返される。strがnullの場合にはNullPointerExceptionが投げられる。 |
boolean | startsWith(String prefix) 文字列がprefixで始まる場合にtrueが返される。 引数がnullの場合にはNullPointerExceptionが投げられる。 |
boolean | startsWith(String prefix, int offset) offset番目の文字列がprefixで始まる場合にtrueが返される。 引数がnullの場合にはNullPointerExceptionが投げられる。 |
boolean | endsWith(String suffix) 文字列がsuffixで終わる場合にtrueが返される。 引数がnullの場合にはNullPointerExceptionが投げられる。 |
int | indexOf(int ch) 文字列を最初から最後に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。 |
int | indexOf(int ch, int fromIndex) 文字列をfromIndex番目の文字から最後に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。 |
int | indexOf(String str) 文字列を最初から最後に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。strがnullの場合にはNullPointerExceptionが投げられる。 |
int | indexOf(String str, int fromIndex) 文字列をfromIndex番目の文字から最後に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。 strがnullの場合にはNullPointerExceptionが投げられます。 |
int | lastIndexOf(int ch) 文字列を最後から最初に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。 |
int | lastIndexOf(int ch, int fromIndex) 文字列をfromIndex番目から最初に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。 |
int | lastIndexOf(String str) 文字列を最後から最初に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。strがnullの場合にはNullPointerExceptionが投げられる。 |
int | lastIndexOf(String str, int fromIndex) 文字列をfromIndex番目から最初に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。strがnullの場合にはNullPointerExceptionが投げられる。 |
String | substring(int beginIndex) この文字列の部分文字列である新しい文字列を返す。部分文字列は指定されたインデックスで始まり、この文字列の最後までになる。例えば"unhappy".substring(2) では "happy" が返される "矢田亜紀子".substring(2) では "亜紀子" が返される。引数が不正の場合にはIndexOutOfBoundsExceptionが投げられる。 |
String | substring(int beginIndex, int endIndex) この文字列の部分文字列である新しい文字列を返す。部分文字列は、指定された beginIndex から始まり、インデックス endIndex – 1 にある文字まで。 例えば"smiles".substring(1, 5) では "mile" が返される。"北海道、東京、沖縄".substring(4, 6) では "東京" が返される。引数が不正の場合にはIndexOutOfBoundsExceptionが投げられる。 |
String | concat(String str) 文字列strを最後に連結した文字列を返す。「+」演算子を用いることもできる。 例) "ABC".concat("DEF") と "ABC"+"DEF"は同じ。 strがnullの場合にはNullPointerExceptionが投げられる。 |
String | replace(char oldChar, char newChar) 文字列内のoldCharをnewCharに置換した文字列を返す。 |
String | toLowerCase() 文字列内の大文字を小文字に変換する。unicodeで比較されますので全角アルファベットなども変換される。 |
String | toUpperCase() 文字列内の小文字を大文字に変換する。unicodeで比較されますので全角アルファベットなども変換される。 |
String | trim() 文字列のコピーを返す。ただし、最初と最後の空白文字(\u0020以下の文字)は省略される。全角スペースは削除されない。 |
char[] | toCharArray() 文字列をchar配列に変換する。 |
void | insertElementAt(Object obj, int index) Vectorの指定されたindexに、指定されたオブジェクトを要素として挿入する。 |
String | valueOf(Object obj) objのtoStringが呼ばれます。objがnullの場合は"null"が返される。デバッグ作業中やエラーメッセージでそのクラスのインスタンスの中身を表示させたい時などにも利用される。 |
String | valueOf(boolean b) bがtrueの場合は"true"が、falseの場合は"false"が返される。デバッグ作業中やエラーメッセージでそのクラスのインスタンスの中身を表示させたい時などにも利用される。 |
String | valueOf(char ch) chの文字をString型に変換した1文字の文字列が返される。 |
String | valueOf(int n) nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。 |
String | valueOf(long n) nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。 |
String | valueOf(float n) nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。 |
String | valueOf(double n) nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。 |
sample) Stringクラスの基本 | |
import java.io.*; imoprt java.util.*; class Test{ Zstr2 = "abcde"; ZSystem.out.print( "\"123\" + "123" + str2 ); ZSystem.out.print( "\"123\".contact(str2) : "123".contact(str2) ); ZSystem.out.print( ); //パス名からファイル名などを取り出す例 ZSystem.strFileName; ZSystem.strPath; ZSystem.strSttribute; str1 = "C:\\Document and Settings\\administrator\\デスクトップ\\新しいフォルダ\\test.java"; //拡張子 ZSystem.out.println("拡張子 : " + strAttribute); |
|
C:\Java\>java Test map str1 == str2 : false str1.equals(str2) : true 矢口真里 拡張子:.java C:\Java\> |