Translate

2015年11月24日火曜日

String

public class Sample {
 public static void main(String[] args){
  String str = "ABCDABC";
  
  System.out.println(str.charAt(1));
  System.out.println(str.length());
  
  String str2 = (String)str.subSequence(4, 7);
  System.out.println(str2); //CBA 範囲を超えると IndexOutOfBoundsExceptionがスロー
  
  System.out.println(str.indexOf('B')); //1
  System.out.println(str.indexOf("CD"));//2
  
  System.out.println(str.indexOf('B', 3)); //5
  System.out.println(str.lastIndexOf('A'));//4
  
  System.out.println(str.startsWith("ABC")); //true 先頭から始まっているか?
  System.out.println(str.startsWith("CD", 1)); //false 2文字目からCDで始まっているか?
  System.out.println(str.startsWith("CD", 2)); //true 3文字目からCDで始まっているか?
  System.out.println(str.endsWith("DABC")); //true DABCで終わるか?
 }
}


equalは、文字列の比較
== は、参照しているObjectが一緒の場合 true

public class Sample {
 public static void main(String[] args){
  String str1 = "ABC";
  String str2 = "AB";
  str2 += "C";
  System.out.println(str1 == str2);      //false
  System.out.println(str1.equals(str2)); //true
  
  String str3 = "CD";
  String str4 = "CD";
  System.out.println(str3 == str4); //true 
  
  String str5 = "EF";
  String str6 = new String("EF");
  System.out.println(str5 == str6); //false
 }
}

StringBuilderの場合
public class Sample {
 public static void main(String[] args){
  StringBuffer str1 = new StringBuffer("ABC");
  StringBuffer str2 = new StringBuffer("ABC");
  System.out.println(str1 == str2); //falase
  
  str1 = str2;
  System.out.println(str1 == str2); //true
 }
}

0 件のコメント: