String st = "abcdef";
この方法は簡便な方法で new なしでオブジェクトを生成しているので、intやfloat型のプリミティブ型と同様Javaが特殊扱いしているクラスです。二つの文字列は + 演算で連結できますが、これも、演算子 + の拡張機能となっています。String st="123"; st=st+"abc";+ 演算は文字列とintやfloatなどの数値が混合した場合、左の型にあわせて演算します。この場合は、i を文字列に変換し連結します。
int i = 10; st = "i=" + i;// i=10
System.out.println("replace:"+sb);
でコマンドウインドウに表示できます。アプレットの場合、IEのツールメニューから、「SunのJava コンソール」を」チェックすると、表示可能です。
String st1="123",st2="abc";
としたとき、st1>=st2 は文字列への参照子(C言語のポインタ、記憶するメモリの番地に相当)の比較となります。文字列が同じであるかは
st.equals("3a")
のように、Stringクラスのequals メソッドを利用します。
equalsIgnoreCase("3A")
では、大文字小文字を無視して比較します。
compareTo()
を利用します。結果はint型で、小さいとき負、等しいとき0、多きとき正になります。 StringBuffer sb=new StringBuffer("from Toyota to Nagoya");
sb=sb.replace(5,11,"Handa");
System.out.println("replace:"+sb);
public class string {
public static void main(String[] args) {
String st="123";
//文字列の結合
st=st+"abc";
System.out.println(st);
st=st.substring(2,4);
System.out.println(st+":"+st.length());
//比較
//==はオブジェクトの番地で判断する 以下は失敗する
if(st=="3a") System.out.println("== ");
//文字列の同等判断は equals を使う
if(st.equals("3a"))System.out.println("equals");
if(st.equalsIgnoreCase("3A"))System.out.println("equals 大/小文字無視");
//文字の書き換え
StringBuffer sb=new StringBuffer("from Toyota to Nagoya");
sb=sb.replace(5,11,"Handa");
System.out.println("replace:"+sb);
}
}
123abc 3a:2 equals equals 大/小文字無視 replace:from Handa to Nagoya