栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础 -- String Class

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础 -- String Class

Java基础 -- String Class
    • 1. String Class Source Code
    • 2. Common Method
      • 2.1 查询某个字母出现的次数
      • 2.2 查询某个字母出现第三次后,后面的字母
      • 2.3 两个字符串比较
      • 2.4 截取
      • 2.5 切割
      • 2.6 去掉字符串前面和后面的空格


              Java基础都忘了,是时候捡一捡啦

1. String Class Source Code

package java.lang;

import java.io.ObjectStreamField;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Formatter;
import java.util.Locale;
import java.util.Objects;
import java.util.StringJoiner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

public final class String
    implements java.io.Serializable, Comparable, CharSequence {
    
    private final char value[];

    
    private int hash; // Default to 0

    
    private static final long serialVersionUID = -6849794470754667710L;

    
    public int length() {
        return value.length;
    }

    
    public boolean isEmpty() {
        return value.length == 0;
    }

    
    public char charAt(int index) {
;
    }

    
    void getChars(char dst[], int dstBegin) {
        System.arraycopy(value, 0, dst, dstBegin, value.length);
    }

    
    public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
    }



    
    public byte[] getBytes() {
        return StringCoding.encode(value, 0, value.length);
    }

    
    public boolean equals(Object anObject) {
 
    }


    
    public int compareTo(String anotherString) {

    }

    
    public boolean startsWith(String prefix, int toffset) {

    }

    
    public boolean startsWith(String prefix) {
        return startsWith(prefix, 0);
    }

    
    public boolean endsWith(String suffix) {
        return startsWith(suffix, value.length - suffix.value.length);
    }

    
    public int hashCode() {

    }

    
    public int indexOf(int ch) {
        return indexOf(ch, 0);
    }

    
    public int indexOf(int ch, int fromIndex) {
    }

    
    public int lastIndexOf(int ch, int fromIndex) {

    }



    
    public int indexOf(String str) {
        return indexOf(str, 0);
    }

    
    public int indexOf(String str, int fromIndex) {
        return indexOf(value, 0, value.length,
                str.value, 0, str.value.length, fromIndex);
    }

    
    static int indexOf(char[] source, int sourceOffset, int sourceCount,
            String target, int fromIndex) {

    }


    
    public int lastIndexOf(String str) {
        return lastIndexOf(str, value.length);
    }

    
    public int lastIndexOf(String str, int fromIndex) {
        return lastIndexOf(value, 0, value.length,
                str.value, 0, str.value.length, fromIndex);
    }

    
    public String substring(int beginIndex) {

    }

    
    public String substring(int beginIndex, int endIndex) {

    }

    
    public CharSequence subSequence(int beginIndex, int endIndex) {
        return this.substring(beginIndex, endIndex);
    }

    
    public String concat(String str) {

    }

    
    public String replace(char oldChar, char newChar) {
     
    }

    
    public boolean matches(String regex) {
        return Pattern.matches(regex, this);
    }

    
    public boolean contains(CharSequence s) {
        return indexOf(s.toString()) > -1;
    }

    
    public String replaceFirst(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceFirst(replacement);
    }

    
    public String replaceAll(String regex, String replacement) {
        return Pattern.compile(regex).matcher(this).replaceAll(replacement);
    }

    
    public String replace(CharSequence target, CharSequence replacement) {
        return Pattern.compile(target.toString(), Pattern.LITERAL).matcher(
                this).replaceAll(Matcher.quoteReplacement(replacement.toString()));
    }

    
    public String[] split(String regex, int limit) {
      
    }

    
    public String[] split(String regex) {
        return split(regex, 0);
    }


    
    public String toLowerCase(Locale locale) {
     
    }

    
    public String toLowerCase() {
        return toLowerCase(Locale.getDefault());
    }

    
    public String toUpperCase(Locale locale) {
       
    }

    
    public String toUpperCase() {
        return toUpperCase(Locale.getDefault());
    }

    
    public String trim() {
      
    }

    
    public String toString() {
        return this;
    }

    
    public char[] toCharArray() {
     
    }

    
    public static String valueOf(char data[], int offset, int count) {
        return new String(data, offset, count);
    }

    
    public static String valueOf(int i) {
        return Integer.toString(i);
    }

}

2. Common Method 2.1 查询某个字母出现的次数
    public int queryLetterCount(String sourceChar,String searchChar) {
        int index = sourceChar.indexOf(searchChar);
        int count = 0;//定义一个计数器
        while (index != -1) {
            count++;
            index = sourceChar.indexOf(searchChar, index + 1);
        }
       return count;
    }
2.2 查询某个字母出现第三次后,后面的字母
public int queryLetterCount(String path,String searchChar) {
        String tableName = null;

        int count = queryLetterCount(path, searchChar);
   
        Pattern pattern = Pattern.compile(searchChar);
        Matcher findMatcher = pattern.matcher(path);
        int number = 0;
        while(findMatcher.find()) {
          number++;
          if(number == 3){
             int slashIndex = findMatcher.start();
             tableName = path.substring(slashIndex+1,path.length());
             break;
          }   
        }
      return tableName;  
   }
2.3 两个字符串比较

注意:String会出现null的情况

  • “abc”.equals(str) //常量放前面
  • str.equals(“abc”)
public class Demo {
 
    public static void main(String[] args) {
 
        String strA = "Java";
        String strB = "java";
        System.out.println(strA.equals(strB)); // false,严格区分大小写
        System.out.println(strA.equalsIgnoreCase(strB)); // true,忽略大小写
 
        String strC = null;
        System.out.println("java".equals(strC)); // 推荐:false
    }
 
}

contains不区分大小写

public class Demo {
    public static void main(String[] args) {
        String myStr = "RunJava";
        System.out.println(myStr.contains("Run"));     //true
        System.out.println(myStr.contains("java"));    //true
        System.out.println(myStr.contains("s"));       //false
    }
}
2.4 截取

含左不含右

public class Demo {
 
    public static void main(String[] args) {
        String str1 = "HelloWorld";
        String str2 = str1.substring(5);
        System.out.println(str2); // World,新字符串

        String str3 = str1.substring(5, 7);
        System.out.println(str3); // Wo
    }
 
}
2.5 切割
public class Demo {
 
    public static void main(String[] args) {
        String str = "aaa,bbb,ccc";
        String[] split = str.split(",");
        List result = Arrays.asList(split);
        。。。。。。
    }
 
}
2.6 去掉字符串前面和后面的空格
public class Demo {
 
    public static void main(String[] args) {
        String str = " test trim ";
        Strings new = str.trim();
        System.out.println(new);
    }
 
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024616.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号