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