其实它可以和字符数组进行相互转换。
A:public String()
B:public String(byte[]bytes)
C:public String(byte[]bytes,int offset,int length)
D:public String(char[]value)
E:public String(char[]value,int offset,int count)
F:public String(Stringoriginal)
下面的这一个虽然不是构造方法,但是结果也是一个字符串对象
G:String s ="hello";
A:字符串一旦被赋值,就不能改变。
注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
B:字面值作为字符串对象和通过构造方法创建对象的不同
String s =new String("hello");和String s = "hello"的区别?
A:==和equals()
String s1 =new String("hello");
String s2 =new String("hello");
System.out.println(s1== s2);// false
System.out.println(s1.equals(s2));//true
Strings3 = new String("hello");
String s4 ="hello";
System.out.println(s3== s4);// false
System.out.println(s3.equals(s4));//true
Strings5 = "hello";
String s6 ="hello";
System.out.println(s5== s6);// true
System.out.println(s5.equals(s6));//true
B:字符串的拼接
String s1 ="hello";
String s2 ="world";
String s3 ="helloworld";
System.out.println(s3== s1 + s2);// false
System.out.println(s3.equals((s1+ s2)));// true
System.out.println(s3== "hello" + "world");// false 这个我们错了,应该是true
System.out.println(s3.equals("hello"+ "world"));// true
A:判断功能
booleanequals(Object obj)
booleanequalsIgnoreCase(String str)
booleancontains(String str)
booleanstartsWith(String str)
booleanendsWith(String str)
booleanisEmpty()
intlength()
charcharAt(int index)
intindexOf(int ch)
intindexOf(String str)
intindexOf(int ch,int fromIndex)
intindexOf(String str,int fromIndex)
Stringsubstring(int start)
Stringsubstring(int start,int end)
byte[]getBytes()
char[]toCharArray()
static StringvalueOf(char[] chs)
static StringvalueOf(int i)
StringtoLowerCase()
StringtoUpperCase()
Stringconcat(String str)
a:替换功能
Stringreplace(char old,char new)
Stringreplace(String old,String new)
b:去空格功能
Stringtrim()
c:按字典比较功能
intcompareTo(String str)
intcompareToIgnoreCase(String str)
A:讲解了System.in这个东西。
它其实是标准的输入流,对应于键盘录入
B:构造方法
InputStreamis = System.in;
Scanner(InputStreamis)
C:常用的格式
Scanner sc =new Scanner(System.in);
A:hasNextXxx() 判断是否是某种类型的
B:nextXxx() 返回某种类型的元素
A:public int nextInt()
B:public String nextLine()
A:同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题。
B:解决方案:
a:重新定义一个Scanner对象
b:把所有的数据都用字符串获取,然后再进行相应的转换