国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

String字符串,F(xiàn)astJson常用操作方法

這篇具有很好參考價(jià)值的文章主要介紹了String字符串,F(xiàn)astJson常用操作方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

JSON字符串操作

1、創(chuàng)建配置環(huán)境

# 引入測(cè)試包
	testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.6.RELEASE'
# 創(chuàng)建測(cè)試類
	@RunWith(SpringRunner.class)
	@SpringBootTest
	public class JsonTest {
    @Test
    public void test(){
        System.out.println("xxxxxxx");
    }
}
  • 注意

    測(cè)試的時(shí)候需要更改一下idea的設(shè)置
    String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

2、FastJson簡(jiǎn)介

# FastJson簡(jiǎn)介
	FastJson是將Java對(duì)象轉(zhuǎn)為JSON格式字符串的過(guò)程,JavaBean對(duì)象,List集合對(duì)象,Map集合應(yīng)用最為廣泛。
	

3、序列化

# Json的數(shù)組形式
	jsonStr = ['0','1','2','3',4]
  • 測(cè)試

    @Test
    public void test(){
      // 創(chuàng)建數(shù)組
      String arr [] =  {"a", "b", ""};
      // 將數(shù)組轉(zhuǎn)為JSON形式
      Object json = JSON.toJSON(arr);
      System.out.println("json = " + json);
    }
    

    String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

# 序列化:將Java對(duì)象轉(zhuǎn)為JSON字符串的過(guò)程
  • JSON.toJSONString(序列化java對(duì)象)

        @Test
        public void test(){
            Student student = new Student();
            student.setUserName("范浩然");
            student.setAge(12);
            student.setClassName("初二1班");
            // 將javaBean對(duì)象序列化
            String studentInfo = JSON.toJSONString(student);
            System.out.println("studentInfo = " + studentInfo);
            // 打印對(duì)象信息
            System.out.println("student = " + student);
        }
    

    String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

        @Test
        public void test1(){
            Student student = new Student();
            student.setUserName("范浩然");
            student.setAge(12);
            student.setClassName("初二1班");
            // 序列化集合信息
            List<Student> studentList = new ArrayList<>();
            studentList.add(student);
            // 序列化集合信息
            String students = JSON.toJSONString(studentList);
            System.out.println("students = " + students);
        }
    

    String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

        @Test
        public void test2(){
            Student student = new Student();
            student.setUserName("范浩然");
            student.setAge(12);
            student.setClassName("初二1班");
            HashMap<String, Student> studentMap = new HashMap<>();
            studentMap.put("1",student);
            // 序列化HashMap
            String studentInfo = JSON.toJSONString(studentMap);
            System.out.println("studentInfo = " + studentInfo);
            
        }
    

    String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

4、反序列化

    @Test
    public void test3(){
        //  反序列化 將Json字符串反序列化為Java對(duì)象
        String str = "{\"age\":12,\"className\":\"初二1班\",\"userName\":\"范浩然\"}";
        // 第一個(gè)參數(shù) 反序列化的字符串,Java對(duì)象的Class對(duì)象
        Student student =  JSON.parseObject(str, Student.class);
        System.out.println("student = " + student);


        //  json對(duì)象轉(zhuǎn)為數(shù)組
        String str3 = " [{\"age\":12,\"className\":\"初二1班\",\"userName\":\"范浩然\"}]";
        List<Student> studentList = JSON.parseArray(str3, Student.class);
        studentList.forEach(item ->{
            System.out.println(item);
        });

        // json字符串轉(zhuǎn)為集合 轉(zhuǎn)換后集合泛型的class
        String str2 = "{\"1\":{\"age\":12,\"className\":\"初二1班\",\"userName\":\"范浩然\"}}";
        // 第一個(gè)參數(shù) 字符串
        // 直接進(jìn)行反序列化 Map集合是沒(méi)有泛型的,沒(méi)有泛型的集合是不安全的,轉(zhuǎn)換后的集合必須具有泛型,
        // 調(diào)用parseObject傳遞參數(shù),TypeReference類型,在TypeReference類的泛型中,傳遞轉(zhuǎn)后的Map集合
       Map<String,Student> map = JSON.parseObject(str2,new TypeReference<Map<String,Student>>(){});
        // 遍歷Map
        map.entrySet().stream().forEach(item->{
            // 遍歷鍵值對(duì)
            System.out.println("key:"+item.getKey());
            System.out.println("value:"+item.getValue());
        });

    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

5、枚舉介紹

 @Test
    public void test4(){
        // 枚舉介紹 是進(jìn)行序列化時(shí) 自己可以定義一些特殊的需求
        // toJSONString()
        // 參數(shù)一:要序列化的對(duì)象
        // 參數(shù)二:SerializerFeature枚舉類型的可變參數(shù)
        // 常見的方法
        // 1.序列化Null值的字段
        Student student = new Student();
        student.setClassName("高三一班");
        student.setBirthday(new Date());
        String studentInfo1 = JSON.toJSONString(student);
        System.out.println("studentInfo1 = " + studentInfo1);

        // 序列化空字段
        String studentInfo2 = JSON.toJSONString(student, SerializerFeature.WriteMapNullValue);
        System.out.println("studentInfo2 = " + studentInfo2);
        // 序列化字段把值序列化為雙引號(hào)
        String studentInfo3 = JSON.toJSONString(student, SerializerFeature.WriteNullStringAsEmpty);
        System.out.println("studentInfo3 = " + studentInfo3);
        // 字段為空的時(shí)候 序列化為0
        String studentInfo4 = JSON.toJSONString(student, SerializerFeature.WriteNullNumberAsZero);
        System.out.println("studentInfo4 = " + studentInfo4);
        // 序列化 布爾值為null 序列化為false
        String studentInfo5 = JSON.toJSONString(student, SerializerFeature.WriteNullBooleanAsFalse);
        System.out.println("studentInfo5 = " + studentInfo5);
        // 序列化日期
        String studentInfo6 = JSON.toJSONString(student, SerializerFeature.WriteDateUseDateFormat);
        System.out.println("studentInfo6 = " + studentInfo6);
        // 格式化字符串可以接收多個(gè)
        String s = JSON.toJSONString(student, SerializerFeature.WriteNullNumberAsZero,
                                              SerializerFeature.WriteNullBooleanAsFalse,
                                              SerializerFeature.PrettyFormat);
        System.out.println("s = " + s);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

6、JSONField注解的使用

1、注解
# 若屬性是私有的,必須有set方法,否則無(wú)法序列化、
	1.JSONField可以作用于get/set方法上面
	2.配置在字段上面
2、作用于字段上面
    @JSONField(name = "username")
    private String userName;

    @Test
    public void test5(){
        Student student = new Student();
        student.setUserName("范浩然");
        student.setClassName("高三一班");
        String studentInfo = JSON.toJSONString(student);
        System.out.println(studentInfo);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

3、格式化日期時(shí)間
#  使用JSONField格式化日期時(shí)間
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    @Test
    public void test6(){
        Student student = new Student();
        // 賦值時(shí)間數(shù)據(jù)
        student.setCreateTime(new Date());
        // 轉(zhuǎn)為JSON字符串
        String studentInfo = JSON.toJSONString(student);
        System.out.println("studentInfo = " + studentInfo);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

4、指定字段不序列化
# 可以指定某些字段不序列化
	1.serialize = false/deserialize
    /**
     * 指定年齡這個(gè)字段不序列化
     */
    @JSONField(serialize = false)
    private Integer age;
    
    @Test
    public void test7(){
        Student student = new Student();
        // 雖然給年齡賦值了 但是指定了年齡不序列化 所以結(jié)果中年齡只有姓名
        student.setAge(32);
        student.setUserName("張三");
        String studentInfo = JSON.toJSONString(student);
        System.out.println("studentInfo = " + studentInfo);
        
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

5、指定字段順序
# 可以指定某些字段的一個(gè)序列化的順序
	1.ordinal
    @JSONField(name = "username",ordinal = 1)
    private String userName;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss",ordinal = 0)
    private Date createTime;

		// 首先序列化 創(chuàng)建時(shí)間 在序列化姓名
    @Test
    public void test8(){
        Student student = new Student();
        student.setUserName("范浩然");
        student.setCreateTime(new Date());
        String studentInfo = JSON.toJSONString(student);
        System.out.println("studentInfo = " + studentInfo);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

6、自定義序列化內(nèi)容
# 在fastjson 1.2.16版本之后,JSONField支持新的定制化配置serializeUsing,可以單獨(dú)對(duì)某個(gè)類的某個(gè)屬性定制序列化、反序列化。

指定自定義序列化的內(nèi)容

    /**
     * 指定自定義序列化字段
     */
    @JSONField(serializeUsing = StudentTypeSerializable.class)
    private Boolean status;

創(chuàng)建實(shí)現(xiàn)序列化內(nèi)容的類

/**
 * @author hrFan
 * @version 1.0
 * @description: 自定義序列化內(nèi)容
 * @date 2022/5/9 星期一
 */
public class StudentTypeSerializable implements ObjectSerializer {
    /**
     *
     * @param serializer 序列化器
     * @param object 字段的值
     * @param fieldName 字段的名稱
     * @param fieldType 字段的類型
     * @param features 特征
     * @throws IOException
     */
    @Override
    public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
        // 獲取字段的值
        Boolean isStatus = (Boolean) object;
        // 判斷字段的值
        String text = "";
        if (isStatus = false){
            text  = "未啟用";
        }else {
            text = "已啟用";
        }
        // 進(jìn)行序列化
        serializer.write(text);
    }
}

測(cè)試

    @Test
    public void test9(){
        Student student = new Student();
        // 設(shè)置字段的值
        student.setStatus(false);
        String studentInfo = JSON.toJSONString(student);
        System.out.println("studentInfo = " + studentInfo);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

7、自定義反序列化內(nèi)容

指定反序列化字段

    /**
     * 指定自定義序列化字段
     */
    @JSONField(deserializeUsing = StudentTypeDeSerializable.class)
    private Boolean status;

創(chuàng)建反序列化內(nèi)容的類

/**
 * @author hrFan
 * @version 1.0
 * @description: 自定義序列化內(nèi)容
 * @date 2022/5/9 星期一
 */
public class StudentTypeDeSerializable implements ObjectDeserializer {
    /**
     *
     * @param parser Json解析器
     * @param type 字段類型
     * @param fieldName 字段名稱
     * @return 反序列化完成的內(nèi)容
     */
    @Override
    public Boolean deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
        String isUse = "已啟用";
        // 獲取反序列化的值
        String status = parser.getLexer().stringVal();
        Boolean b = false;
        if (isUse.equals(status)){
            b = true;
        }
        // 返回字段的類型信息
        return b;
    }

    @Override
    public int getFastMatchToken() {
        return 0;
    }
}

測(cè)試

    @Test
    public void test10(){
        // 自定義序列化的內(nèi)容
        String studentInfo = "{\"status\":\"已啟用\"}";
        Student student = JSON.parseObject(studentInfo, Student.class);
        System.out.println("student = " + student);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

3、String字符串操作

1、isBlank(判斷字符串是否為空)

# isBlank 空格是非空
	1.包含的有空串("")、空白符(空格"","  ",制表符"\t",回車符"\r","\n"等)以及null值;
    @Test
    public void test1(){
        // 如果為空 返回true 不為空返回false
        System.out.println("空格 : " + StringUtils.isBlank(" "));
        System.out.println("字符 : " + StringUtils.isBlank("s"));
        System.out.println("制表位 : " + StringUtils.isBlank("\t"));
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

2、remove(移除字符)

 # 移除單個(gè)字符,也可以是字符串
 	StringUtils.remove(String str, char remove)
 	StringUtils.remove(String str, String remove);
 # 移除開頭/結(jié)尾匹配的字符序列
 	StringUtils.removeStart(String str, String remove);
	StringUtils.removeStartIgnoreCase(String str, String remove);
	StringUtils.removeEnd(String str, String remove);
	StringUtils.removeEndIgnoreCase(String str, String remove);
1、移除單個(gè)字符串
    @Test
    public void test2(){
        String str = "test";
        // 第一個(gè)參數(shù) 操作的字符串
        // 第二個(gè)參數(shù) 匹配刪除的字符
        String afterStr = StringUtils.remove(str, "t");
        // 原字符串并不會(huì)被修改 
        System.out.println("afterStr = " + afterStr);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

2、移除匹配的字符串
    @Test
    public void test3(){
        String str = "testtesttestest";
        // 移除某個(gè)字符串
        String afterStr = StringUtils.remove(str, "es");
        System.out.println("afterStr = " + afterStr);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

3、移除首尾匹配的字符串

    @Test
    public void test4(){
        // 移除開頭或者結(jié)尾匹配的字符序列
        String str = "ABCDEFG";
        String afterStr1 = StringUtils.removeStart(str, "ab");
        String afterStr2 = StringUtils.removeEnd(str, "fg");
        System.out.println("-------------------------------------------------");
        // 刪除忽略大小寫
        String afterStr3 = StringUtils.removeStartIgnoreCase(str, "ab");
        String afterStr4 = StringUtils.removeEndIgnoreCase(str, "fg");
        System.out.println("afterStr1 = " + afterStr1);
        System.out.println("afterStr2 = " + afterStr2);
        System.out.println("afterStr3 = " + afterStr3);
        System.out.println("afterStr4 = " + afterStr4);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

3、trim(去除首尾空白)

    @Test
    public void test5(){
        String str = " demo ";
        System.out.println("str = " + str);
        // 去除首尾空白的字符
        String afterStr = StringUtils.trim(str);
        System.out.println("afterStr = " + afterStr);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

4、strip(去掉首尾匹配字符)

    @Test
    public void test6(){
        String str = "[demoomed]";
        System.out.println("str = " + str);
        // 去除首尾的[]
        // 應(yīng)用的比較廣泛
        String stripStr = StringUtils.strip(str, "[]");
        System.out.println("stripStr = " + stripStr);
        
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

5、replace(替換)

# 注意
	若被替換的字符串為null,或者被替換的字符或字符序列為null,又或者替換的字符或字符序列為null
	此次替換都會(huì)被忽略,返回原字符串;


# 替換單個(gè)字符或字符序列 
	replace(String text, String searchString, String replacement);
	replace(String text, String searchString, String replacement, int max);max是指替換最大次數(shù),0:不替換,-1:全部替換
	replaceChars(String str, char searchChar, char replaceChar);
	replaceChars(String str, String searchChars, String replaceChars);
# 只會(huì)替換一次,后面即使匹配也不替換
	replaceOnce(String text, String searchString, String replacement);
# 指定位置進(jìn)行字符序列替換,從start索引處開始(包含)到end-1索引處為止進(jìn)行替換
	overlay(String str,String overlay,int start,int end);    
# 可以同時(shí)替換多個(gè)字符序列,一一對(duì)應(yīng)但被替換和替換的字符序列的個(gè)數(shù)應(yīng)該對(duì)應(yīng),否則會(huì)報(bào)IllegalArgumentException
	replaceEach(String text, String[] searchList, String[] replacementList);
	StringUtils.replaceEach("test", new String[] { "t", "e" }, new String[] { "T", "E" });
	StringUtils.replaceEach("test", null, new String[] { "T", "E" });
	test (存在null,不進(jìn)行替換)
# IllegalArgumentException (被替換和替換的個(gè)數(shù)不對(duì)應(yīng))	     
	StringUtils.replaceEach("test", new String[] { "t", "e" }, new String[] { "T", "E", "X" }); 
# 循環(huán)替換--了解即可
	replaceEachRepeatedly(String text, String[] searchList, String[]replacementList);
	StringUtils.replaceEachRepeatedly("test", new String[] { "e", "E" }, new String[] { "E", "Y" }); 
	tYst (e被替換為E,E又被替換為Y)
1、(replace)替換單個(gè)字符或者字符序列
    @Test
    public void test7(){
        String str = "abc123abc";
        // 第一個(gè)參數(shù) 源字符串 第二個(gè)參數(shù) 需要替換的字符 三個(gè)參數(shù) 需要替換的字符串
        // 第四個(gè)參數(shù) max是指替換最大次數(shù),0:不替換,-1:全部替換
        String replaceStr1 = StringUtils.replace(str, "abc", "000");
        String replaceStr2 = StringUtils.replace(str, "abc", "000",1);
        // 當(dāng)max設(shè)置為1時(shí)等價(jià)于只替換一次
        String replaceStr3 = StringUtils.replaceOnce(str, "abc", "000");
        System.out.println("replaceStr1 = " + replaceStr1);
        System.out.println("replaceStr2 = " + replaceStr2);
        System.out.println("replaceStr3 = " + replaceStr3);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

2、(overlay)替換指定位置字符串序列
    @Test
    public void test8(){
        String str = "system is very good";
        // 指定位置開始替換 直接替換除了首尾的字符
        String afterStr = StringUtils.overlay(str, "--------", 1, str.length()-1);
        System.out.println("afterStr = " + afterStr);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

3、(replaceEach)批量替換
    @Test
    public void test9(){
        String str = "abcdefgabcdefg";
        // 替換多個(gè)字符序列
        String [] arr1 = { "a", "b"};
        String [] arr2 = { "A", "B"};
        // 注意 替換的個(gè)數(shù)一定要一致不然報(bào)異常
        String afterStr = StringUtils.replaceEach(str, arr1, arr2);
        System.out.println("afterStr = " + afterStr);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

6、(reverse)反轉(zhuǎn)

    @Test
    public void test10(){
        String str1 = "123456789";
        String str2 = "1-2-3-4-5-6-7-8-9";
        // 字符串反轉(zhuǎn)
        String afterStr1 = StringUtils.reverse(str1);
        // 根據(jù)分隔符反轉(zhuǎn)
        String afterStr2 = StringUtils.reverseDelimited(str2,'-');
        System.out.println("afterStr1 = " + afterStr1);
        System.out.println("afterStr2 = " + afterStr2);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

7、(substring)截取

# 截取
	1.從左到對(duì)右下標(biāo)默認(rèn)從0開始,從右往左下標(biāo)默認(rèn)從-1開始
    @Test
    public void test11(){
        String str1 = "0123456789";
        // 從第五個(gè)位置開始截取
        String afterBefore1 = StringUtils.substring(str1, 5);
        // 指定截取的開始位置和結(jié)束位置
        String afterBefore2 = StringUtils.substring(str1, 0, 5);
        System.out.println("afterBefore1 = " + afterBefore1);
        System.out.println("afterBefore2 = " + afterBefore2);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

# 根據(jù)指定的分隔符進(jìn)行截取
# substringAfter
	從分隔符第一次出現(xiàn)的位置向后截取
# substringBefore
	從分隔符第一次出現(xiàn)的位置向前截取
# substringAfterLast
	從分隔符最后一次出現(xiàn)的位置向后截取
# substringBeforeLast
	從分隔符最后一次出現(xiàn)的位置向前截取
# substringBetween
	截取指定標(biāo)記字符之間的字符序列
    @Test
    public void test12(){
        String str = "ab-cd-ef-gh-ij-kl-mn-op-qr";
        // 從分隔符第一次出現(xiàn)的位置向后截取
        String afterStr1 = StringUtils.substringAfter(str, "-");
        String afterStr2 = StringUtils.substringBefore(str, "-");
        System.out.println("afterStr1 = " + afterStr1);
        System.out.println("afterStr2 = " + afterStr2);
        System.out.println("------------------------------------------------");
        // 從分隔符最后一次出現(xiàn)的位置向前或者向后截取
        String afterStr3 = StringUtils.substringAfterLast(str, "-");
        String afterStr4 = StringUtils.substringBeforeLast(str, "-");
        System.out.println("afterStr3 = " + afterStr3);
        System.out.println("afterStr4 = " + afterStr4);
        System.out.println("------------------------------------------------");
        // 截取指定標(biāo)記字符之間的序列
        String str2 = "A00000000000000000000000000000000000000A";
        String afterStr5 = StringUtils.substringBetween(str2, "A");
        System.out.println("afterStr5 = " + afterStr5);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

8、(containsOnly)包含

# 包含
	判斷字符串中的字符是否都是出自所指定的字符數(shù)組或字符串   StringUtils.containsOnly(str, validChars);
	需要注意的是:前面的字符是否都出自后面的參數(shù)中,也是拆為數(shù)組來(lái)比較
    @Test
    public void test13(){
        String str = "Happiness is a way station between too much and too little";
        // 注意 他是拆分成字符數(shù)組比較的(所以只要有to這個(gè)字符串序列 就會(huì)匹配成功) 注意順序
        // 判斷字符序列中是否包含一個(gè)字符或一個(gè)字符序列
        // str中是否包含to這個(gè)字符序列
        boolean isExistTo1 = StringUtils.containsOnly("to",str);
        boolean isExistTo2 = StringUtils.containsOnly("ato",str);
        System.out.println("isExistToo1 = " + isExistTo1);
        System.out.println("isExistToo2 = " + isExistTo2);
        // 用于檢測(cè)字符串是否以指定的前綴開始
        boolean isHappinessPrefix = StringUtils.startsWith(str,"Happiness");
        System.out.println("isHappinessPrefix = " + isHappinessPrefix);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

9、(indexOf)查找字符索引

# indexOf
	返回在字符串中第一次出現(xiàn)的位置,如果沒(méi)有在字符串中出現(xiàn),則返回-1
# lastIndexOf
	返回在字符串中最后一次出現(xiàn)的索引
# indexOfAny
	返回字符數(shù)組第一次出現(xiàn)在字符串中的位置
# indexOfAnyBut
	子字符串與主字符串不匹配部分的位置
	StringUtils.indexOfAnyBut("sdsfhhl0","h");//結(jié)果是0
	StringUtils.indexOfAnyBut("sdsfhhl0","s");//結(jié)果是1
	StringUtils.indexOfAnyBut("aa","aa");//結(jié)果是-1
# indexOfDifference
	統(tǒng)計(jì)兩個(gè)字符串共有的字符個(gè)數(shù)
# difference
	去掉兩個(gè)字符串相同的字符以后的字符串

    @Test
    public void test14(){
        String str = "hello,world";
        // 查找字符出現(xiàn)的位置
        int index1 = StringUtils.indexOf(str, "l");
        System.out.println("index1 = " + index1);
        // 查找字符最后出現(xiàn)的索引位置
        int index2 = StringUtils.lastIndexOf(str,"l");
        System.out.println("index2 = " + index2);
        // 查找字符串第一次出現(xiàn)的索引的位置
        int index3 = StringUtils.indexOfAny(str, "l");
        System.out.println("index3 = " + index3);
        // 查找字符和字符串不匹配的開始位置
        int index4 = StringUtils.indexOfAnyBut(str,"we");
        System.out.println("index4 = " + index4);
        // 統(tǒng)計(jì)兩個(gè)字符串開始共有的字符個(gè)數(shù)
        int number = StringUtils.indexOfDifference(str,"hello");
        System.out.println("number = " + number);
        // 去除兩個(gè)字符串開始共有的部門
        String afterStr = StringUtils.difference(str,"hello,java");
        System.out.println("afterStr = " + afterStr);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java

10、首字母大小寫

# capitalize
	首字母大寫
# uncapitalize
	首字母小寫
    @Test
    public void test15(){
        String str = "fhr";
        System.out.println("str = " + str);
        // 首字母變?yōu)榇髮?/span>
        String capitalize = StringUtils.capitalize(str);
        System.out.println("首字母大寫 = " + capitalize);
        // 首字母變?yōu)樾?/span>
        String uncapitalize = StringUtils.uncapitalize(capitalize);
        System.out.println("首字母小寫 = " + uncapitalize);
        // 全部變?yōu)榇髮?/span>
        String upperCase = StringUtils.upperCase(capitalize);
        System.out.println("全部變?yōu)榇髮?= " + upperCase);
        // 全部變?yōu)樾?/span>
        String lowerCase = StringUtils.lowerCase(upperCase);
        System.out.println("全部變?yōu)樾?= " + lowerCase);
    }

String字符串,F(xiàn)astJson常用操作方法,Java,FastJson,String常用方法,java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-833571.html

到了這里,關(guān)于String字符串,F(xiàn)astJson常用操作方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【c#】c#常用小技巧方法整理(5)—— 字符串操作類

    1、GetStrArray(string str, char speater, bool toLower) 把字符串按照分隔符轉(zhuǎn)換成 List 2、GetStrArray(string str) 把字符串轉(zhuǎn) 按照, 分割 換為數(shù)據(jù) 3、GetArrayStr(List list, string speater) 把 List 按照分隔符組裝成 string 4、GetArrayStr(List list) 得到數(shù)組列表以逗號(hào)分隔的字符串 5、GetArrayValueStr(Dictionaryin

    2023年04月23日
    瀏覽(26)
  • Redis的String(字符串)最常用的

    string是redis最基本的類型,一個(gè)key對(duì)應(yīng)一個(gè)value set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL] set 命令有 EX 、 PX 、 NX 、 XX 以及 KEEPTTL 五個(gè)可選參數(shù),其中 KEEPTTL 為6.0版本添加到可選參數(shù) 參數(shù) 作用 EX seconds 以秒位單位設(shè)置過(guò)期時(shí)間

    2023年04月11日
    瀏覽(18)
  • Java Base64字符串與String字符串互轉(zhuǎn)方法

    Java Base64字符串與String字符串互轉(zhuǎn)方法

    在使用String轉(zhuǎn)Base64和Base64轉(zhuǎn)String上有點(diǎn)小問(wèn)題,特此記錄。 結(jié)果: 也是跟上面差不多的思路,將Base64轉(zhuǎn)為byte數(shù)組,再轉(zhuǎn)為String

    2024年02月15日
    瀏覽(32)
  • C++之string字符串比較方法

    C++之string字符串比較方法

    ???????????????? ??作者主頁(yè):楓霜?jiǎng)??? 系列專欄:C++實(shí)戰(zhàn)寶典 ?? 上一篇: C++之string字符串不同類型間轉(zhuǎn)換 ???????????????? ??逐夢(mèng)編程,讓中華屹立世界之巔。 ??簡(jiǎn)單的事情重復(fù)做,重復(fù)的事情用心做,用心的事情堅(jiān)持做; 字符串可以和類型相同的字

    2024年02月03日
    瀏覽(22)
  • Java截取String字符串的方法

    1.指定字符截取字符串,返回字符串?dāng)?shù)組 2.指定索引,截取字符串 3.通過(guò)StringUtils類截取字符串

    2024年04月22日
    瀏覽(23)
  • String類即字符串的相關(guān)方法

    文章目錄 前言 一、字符串是什么? 二、使用方法 1.String類 2.字符串的相關(guān)方法 總結(jié) ? ? ? ? 眾所周知,現(xiàn)主流的編程語(yǔ)言都是以英文為計(jì)算機(jī)所識(shí)別,所以當(dāng)中國(guó)程序員想要?jiǎng)?chuàng)建一種,可以操縱中文的,數(shù)據(jù)類型時(shí),String字符串類型,便有了極大的幫助。 ? ? ? ? 字符串

    2024年02月08日
    瀏覽(16)
  • 常用的將Java的String字符串轉(zhuǎn)具體對(duì)象的幾種方式

    常用的將Java的String字符串轉(zhuǎn)具體對(duì)象的幾種方式

    Java對(duì)象以User.class為例 ,注意:代碼中使用到了lombok的@Data注解 以上就是常用的幾種String轉(zhuǎn)具體的java對(duì)象操作

    2024年04月11日
    瀏覽(40)
  • String字符串分割的3種方法 Java

    使用了 split(string) 方法通過(guò)指定分隔符將字符串分割為數(shù)組 在java.lang包中有String.split()方法,返回是一個(gè)數(shù)組?!?”和“|”都是轉(zhuǎn)義字符,必須得加\\\"“; 如果用“.”作為分隔的話,必須是如下寫法:String.split(”.“),這樣才能正確的分隔開,不能用String.split(”.“); 如果用“

    2024年01月24日
    瀏覽(22)
  • CMake String函數(shù):如何巧妙地在cmake中操作字符串

    CMake String函數(shù):如何巧妙地在cmake中操作字符串

    在CMake中,我們可以通過(guò)多種方式創(chuàng)建和賦值字符串。下面是兩種常見的方法: 使用 set 命令:這是創(chuàng)建和賦值字符串的最直接方式。例如,我們可以創(chuàng)建一個(gè)名為 VAR 的變量,并賦值為 Hello, CMake! 。 使用 string 命令:除了 set 命令,我們還可以使用 string 命令的 APPEND 子命令來(lái)

    2024年02月08日
    瀏覽(52)
  • Java中String字符串替換3種方法詳解

    replace() 方法用于將目標(biāo)字符串中的指定字符(串)替換成新的字符(串) 字符串.replace(String oldChar, String newChar) replaceFirst() 方法用于將目標(biāo)字符串中匹配某正則表達(dá)式的第一個(gè)子字符串替換成新的字符串 字符串.replaceFirst(String regex, String replacement) replaceAll() 方法用于將目標(biāo)字

    2024年02月11日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包