多练,反复的练习,反复的敲,就会熟练的掌握
转换
Public String();空构造
Public String(byte[] bytes);把字节数组转换成字符串
Public String(byte[] bytes,int index,int length);把字节数组中的一部转换成字符串
Public String(char[] value); 把字符数组转换成字符串
Public String(char[] value,int index,int count);把字符数组中的一部分转换成字符串
Public String(string,original); 把字符串常量转换成字符串
//public String();空构造
String s=new String();
System.out.println(s);
//public String(byte(),bytes);把字节数组转换成字符串
byte[] arr1={97,98,99};
String s1=new String(arr1);
System.out.println(s1);
//public String(byte[],bytes,int index,int length);把指定z字节数组转换成字符串--把字节数组的一部分转成字符串
byte[] arr2={97,98,99};
String s2=new String(arr2,1,2);
System.out.println(s2);
//public String(char[] value); 把字符数组转换成字符串
char[] arr3={97,98,99};
String s3=new String(arr3);
System.out.println(s3);
//public String(char[] value,int index,int count);把字符数组的一部分转换成字符串
char[] arr4={97,98,99};
String s4=new String(arr4,1,2);
System.out.println(s4);
//public String(String,original); 把字符串常量转换成字符串
String s5=new String("abc");
System.out.println(s5);
*/
判断功能
String已经将equals方法进行复写则传的是对象
//面试题关于==跟equals的异同
//两者都是做比较的,返回值都是Boolean类型
//==是比较运算符,既可以比较引用数据类型,又可以比较基本数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
//equals是一个方法,,只能比较引用数据类型,所有的对象都会继承object类,如果没有重写object类中的equals方法,equals方法跟==比较的数据类型没有区别
//重写equals方法以后,比较的是对象的属性值
String s1="abc";
String s2="abc";
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
//下面代码在内存创建了几个对象?
String s3=new String("abc"); //在内存中创建了两个对象
//判断定义的String类型的s4与s5是否相等
String s4=new String("abc");//记录的是对内存中对象的地址值
String s5="abc";//记录的是常量池中的地址值
System.out.println(s4==s5); //false
System.out.println(s4.equals(s5)); //true
*/
//判断String中的s6跟s8是否相等
String s6="ab";
String s7="abc";
String s8=s6+"c";
System.out.println(s7==s8); //false
System.out.println(s7.equals(s8));//true
//判断String中的s1 s2是否相等
String s1="a"+"b"+"c";//java 中有常量优化机制s1="abc";
String s2="abc";
System.out.println(s1==s2); //true
System.out.println(s1.equals(s2)); //true
//boolean isEmpty();判断字符串是否为空
//""与null的区别,""是字符串常量,同时也是String类的对象,所以可以调用String类中的方法
//null是空常量,不能调用任何的方法,所以会出现空指针异常的现象,null常量可以给任意的引用数据类型赋值
String s1="abc";
String s2="";
String s3=null;
System.out.println(s1.isEmpty());
System.out.println(s2.isEmpty());
// System.out.println(s3.isEmpty()); //报错空指针异常
/* 比较方法
boolean isEqual();判断字符串是否为空
boolean equals(Object obj);比较字符串的内容是否相等,区分大小写
boolean equalsIgnoreCase(String str);比较字符串的内容是否相等,不区分大小写
boolean contains(String str);判断大字符串中是否包含小的字符串
boolean startsWith(String str);判断某字符串中是否包含某个指定的字符串
boolean endsWith(String str);判断某字符串中是否是以某指定的字符串结尾的
*/
//boolean equals(Object obj);比较字符串的内容是否相等,区分大小写
/* String s1="woaizhongguo";
String s2="woaizhongguo";
String s3="woAIZHONGGUO";
System.out.println(s1.equals(s2)); //ture
System.out.println(s1.equals(s3)); //false
*/
//boolean equalsIgnoreCase(String str);比较字符串中的内容是否相等,忽略大小写
/* String s1="woaizhongguo";
String s2="woaizhongguo";
String s3="woAIZHONGGUO";
System.out.println(s1.equalsIgnoreCase(s2)); //ture
System.out.println(s1.equalsIgnoreCase(s3)); //ture
*/
//boolean contains(String str)判断大字符串中是否包含小字符串
/*String s1="woaizhongguo,nigenwoyiyangaiguo";
String s2="woaizhongguo";
String s3="woAIZHONGGUO";
System.out.println(s1.contains(s2)); //ture
System.out.println(s1.contains(s3)); //false
*/
//boolean startsWith(String str);判断字符串是否是以指定的字符串开头的
/*String s1="woai";
String s2="woaizhongguo";
String s3="niAIZHONGGUO";
System.out.println(s2.startsWith(s1)); //ture
System.out.println(s1.startsWith(s3)); //false
*/
//boolean endsWith(String str);判断字符是否是有某个指定的字符串结尾的
/* String s1="zhongguo";
String s2="woaizhongguo";
String s3="ZHONGGUO";
System.out.println(s2.endsWith(s1)); //ture
System.out.println(s1.endsWith(s3)); //false
*/
|
|