string的构造方法和普通方法
构造方法
- 1 无参数: String()
- 2 参数是数组:
String(byte[] bytes):把数组按默认编码集转化为字符串
String(byte[] bytes, String charsetName):把数组按指定编码集转化为字符串
数组可以是byte、char、int - 3参数是字符串:Sting(String original): 创建一个参数字符串的副本对象
public static void main(String[] args) throws UnsupportedEncodingException {
String s=new String();
String ss="";
System.out.println(ss==s);
System.out.println(ss.equals(s));
s=new String();
s="";
s=null;
s=" ";
byte[] arr= {1,2,3,4,5,8,9};
s=new String(arr);
s=new String(arr,"UTF_8");
System.out.println(s);
s=new String("abcd");
2.3 普通方法
public class Demo02String {
public static void main(String[] args) throws Exception {
System.err.println("abc".contains("ab")+":"+"abc".contains("ac"));
System.out.println("abc".endsWith("bc"));
System.out.println(new String("123").equals(new String("123")));
System.out.println(new String("123")==new String("123"));
System.out.println(" ".isEmpty()+":"+"".isEmpty());
System.out.println("abc".compareTo("abc"));
System.out.println("abc1".compareTo("abc"));
System.out.println("a1234".compareTo("abc"));
String s="abc123";
for (int i = 0; i < s.length(); i++) {
System.out.println(s+".charAt("+i+")="+s.charAt(i));
}
byte[] arr="a1胡".getBytes("UTF-8");
arr="a1胡".getBytes("GBK");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+(i==arr.length-1?"\n":","));
}
s="abcabc123abcabc";
System.out.println(s.indexOf('a'));
System.out.println(s.indexOf('a', 1));
System.out.println(s.indexOf('a', 4));
System.out.println(s.indexOf('9'));
showCharIndex("abaababab11211aaaa",'a');
System.out.println("abc123abc123".indexOf("123"));
System.out.println("abc123abc".lastIndexOf('a'));
s="aaabcab123aaaab00ab--aaaa";
String [] array=s.split("a");
for (int i = 0; i < array.length; i++) {
System.out.println("array["+i+"]="+array[i]);
}
System.out.println("abcdefg".subSequence(1, 4));
System.out.println("abcdefg".substring(1));
s="abcdefg";
char[] chars=s.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println("char["+i+"]="+chars[i]);
}
String s1="123";
String s2=s1.concat("abc");
System.out.println(s2);
System.out.println(s1==s2);
System.out.println("123"+"abc"+"12");
System.out.println("abc123abc123abc789".replace('a', '-'));
System.out.println("abc123abc123abc789".replace("abc", "d"));
System.out.println("abc123abc123abc789".replace("abc", ""));
s=" 123 abc ";
System.out.println("\""+s.trim()+"\"");
}
private static void showCharIndex(String s, char c) {
int index=0;
int time=0;
while (true) {
index=s.indexOf(c,index);
if (index==-1) {
return;
}
time++;
System.out.println(s+"第"+time+"个"+c+"字符出现的下标是:"+index);
index++;
}
}