美文网首页
java API(二)

java API(二)

作者: java部落 | 来源:发表于2017-11-11 18:37 被阅读0次

三:String类。

String类是public final classString extendsObjectimplementsSerializable
Comparable<String>,CharSequence 是不可被继承类。字符串类一旦被创建之后,不可以被更改。(Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings.)

赋值不需要new。

1 String str = "abc";

初始化字符串:

1 String()
2 String(byte[] bytes)
3 String(byte[] bytes, Charset charset)
4 String(byte[] ascii, int hibyte)

代码:

1 public class String_Test {
 2     public static  void  main(String ...args){
 3         In_Str s=new In_Str();
 4         s.Pri();
 5     }
 6 }
 7 
 8 class In_Str{
 9     private String s_a= new String();
10     byte[] s_b=new  byte[]{1,2,3,4};
11     byte[] s_c={1,3,4,5};
12     String S_d=new String(s_b);
13     char[] ch_s=new  char[]{'a','b','c'};
14     String ch_str=new String(ch_s);
15     public void  Pri(){
16         System.out.printf(this.S_d);
17         String s_g=new String(new byte[]{1,2,3,4});
18         System.out.printf(s_g);
19         System.out.printf(ch_str);
20     }
21 }

之前学习python的时候,我们常用的String方法比如说 分片、切割、获取索引等等。

类似分片:
substring方法:

image

返回值为String类型,参数为int 为字符串的切割起始,可以是单个参数也可以是2个参数,一个默认为到最后。和python切片一样。

1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         Sub s=new Sub();
 6         s.sub();
 7     }
 8 }
 9 
10 
11 class  Sub{
12     String sub="owner";
13     public  void  sub(){
14         System.out.printf(sub.substring(1)+"\n");
15         System.out.printf(sub.substring(1,2));
16 
17 
18     }
19 }

以什么字符串开头和结尾,返回值为布尔类型:

bool startWith(String) bool endWith(String)

 1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     private String s_a= new String();
12     byte[] s_b=new  byte[]{1,2,3,4};
13     byte[] s_c={1,3,4,5};
14     String S_d=new String(s_b);
15     char[] ch_s=new  char[]{'a','b','c'};
16     String ch_str=new String(ch_s);
17     public void  Pri(){
18         if(ch_str.startsWith("a")){
19             System.out.printf("ok");
20         }else if (ch_str.endsWith("f")){
21             System.out.printf("not end f\n");
22         };
23     }
24 }

判断字符串是否包含以及所在字符串的索引:

bool contains(String str) int str.indexof(substr) 判断包含,则返回相应的索引,不包含的返回-1,返回是第一次匹配的索引。

1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     char[] ch_s=new  char[]{'a','b','c','d','f'};
12     String ch_str=new String(ch_s);
13     public void  Pri(){
14         if(ch_str.contains("ab")){
15             System.out.printf("contains\n");
16             int ind=ch_str.indexOf("ab");
17             int ind1=ch_str.indexOf("dd");
18             System.out.printf(ind+"\n");
19             System.out.print(ind1);
20         }
21     }
22 }

存在就返回相应的索引,否则返回-1。

image

获取字符串和字节数组:char[] toCharArray(string) byte[] getBytes()

 1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     char[] ch_s=new  char[]{'a','b','c','d','f'};
12     String ch_str=new String(ch_s);
13     public void  Pri(){
14         char[] s_ch=ch_str.toCharArray();
15         byte[] s_ch_1=ch_str.getBytes();
16         for(char i:s_ch){
17             System.out.print(i+"\n");
18         }
19         System.out.print(s_ch_1);
20     }
21 }

判断两个字符串是否相等,因为String类中已经重写对应的equals方法,所以判断2个字符串对象是否相等使用equeals()以及忽略大小写比较2个字符串是否一样。equalsIgnoreCase()

image image
 1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     char[] ch_s=new  char[]{'a','b','c','d','f'};
12     char[] ch_s_1=new  char[]{'A','b','c','D','f'};
13     String ch_str=new String(ch_s);
14     String ch_str_2=new String(ch_s);
15     String ch_str_1=new String(ch_s_1);
16     public void  Pri(){
17         if(ch_str.equalsIgnoreCase(ch_str_1)){
18             System.out.printf("相等!");
19         }
20         if(ch_str.equals(ch_str_2)){
21             System.out.printf("相等!");
22         }
23     }
24 }

判断字符串是否为空:bool isEmpty()

 1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     String ch_str=new String();
12     public void  Pri(){
13         if(this.ch_str.isEmpty()){
14             System.out.printf("is empty");
15         }
16     }
17 }

获取指定位置的字符: char charAt(int index) 去掉字符串的首尾的空格和回车 str.trim()

 1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     String str=new String("chi ckck \n");
12     public void  Pri(){
13       System.out.print(str.trim()+'\n');
14       System.out.print(str.charAt(2));
15     }
16 }

字符串的大小写转换:toUpperCase(str) toLowerCase()

1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     String str=new String("cHi ckck \n");
12     public void  Pri(){
13     System.out.printf(str.toUpperCase());//大写转换。
14     System.out.printf(str.toLowerCase());//小写转换.
15     }
16 }

将给定新旧的字符转换成新的字符 replace(old char,new char)

 1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     String str=new String("cHi ckck \n");
12     public void  Pri(){
13         System.out.printf(str.replace('H','p'));
14     }
15 }

将给定的旧的字符串转换成新的字符串 replace(old str,new str)

1 package test02;
 2 
 3 public class String_Test {
 4     public static  void  main(String ...args){
 5         In_Str s=new In_Str();
 6         s.Pri();
 7     }
 8 }
 9 
10 class In_Str{
11     String str=new String("cHi ckck \n");
12     public void  Pri(){
13         System.out.printf(str.replace("Hi","koo"));
14     }
15 }

欢迎加入学习交流群569772982,大家一起学习交流。

相关文章

网友评论

      本文标题:java API(二)

      本文链接:https://www.haomeiwen.com/subject/skhgmxtx.html