欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java之JsonArray用法講解

 更新時(shí)間:2021年08月11日 11:27:30   作者:xinyuezitang  
這篇文章主要介紹了Java之JsonArray用法講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

需求:

四個(gè)字符串:
	 "[\"HDC-51\"]",
	"[\"HDC-51\", \"HDC-55\"]",
	"[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]",
	"[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]",
分別向四個(gè)字符串中添加String macType ="HDC-50" ,
并判斷字符串中各個(gè)元素是否與macType相同, 相同則不添加, 不相同則添加.
最后輸出四個(gè)字符串,要求格式同開始字符串格式一致.

思路:

這是不是普通的字符串, 而是json格式的字符串,
所以在判斷的時(shí)候, 可以選擇將多個(gè)字符串轉(zhuǎn)成jsonArray格式

延伸:

通常我們在數(shù)據(jù)庫中, 一個(gè)字段存儲多個(gè)字符串的數(shù)據(jù), 一般以json格式存入,
更新數(shù)據(jù)的時(shí)候,使用jsonArray轉(zhuǎn)化更方便

方法一: 普通方式,不使用jsonArray

	public class Test {
  	  public static void main(String[] args) {
  	  
		List<String> contentList = new ArrayList<>();
        contentList.add("[\"HDC-51\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\"]");
        contentList.add("[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]");
        System.out.println(contentList);
        String macType ="HDC-50";    

		for (String content : contentList) {
            
            //去掉content 中的中括號
            String contentStr1 = content.replaceAll("[\\[\\]]", "");
            List<String> content1= Arrays.asList(contentStr1.split(","));
            
            List<String> list = new ArrayList<>();

            for (String string : content1) {
                list.add(string);
            }
            
            //判斷content中是否已經(jīng)包含macType
            boolean flag = false;
            for (String string : list) {
              //去掉字符串的引號
                String str= string.replace("\"", "");
                if (macType.equals(str)) {
                   flag = true; 
                   break;
                }        
            }
            
            //如果沒有macType,則添加
            if (flag == false) {
                StringBuilder sb = new StringBuilder();
                String macTypeStr = sb.append("\"").append(macType).append("\"").toString();
                list.add(macTypeStr);            
            }
            
            String newContent = list.toString();
            System.out.println(newContent);
        
        }            
  	  }
 	}

結(jié)果:

在這里插入圖片描述

方法二: 使用JsonArray

	public class Test {
  	  public static void main(String[] args) {
  	  
		List<String> contentList = new ArrayList<>();
        contentList.add("[\"HDC-51\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\"]");
        contentList.add("[\"HDC-50\", \"HDC-55\", \"HDC-55-2\"]");
        contentList.add("[\"HDC-51\", \"HDC-55\", \"HDC-55-2\",\"HDC-21N\"]");
        System.out.println(contentList);
        String macType ="HDC-50";    

		for (String content : contentList) {
            
            try {
                JSONArray contentArray = JSONArray.parseArray(content);
                
                //System.out.println("contentArray前 : " + contentArray);
                if (!contentArray.contains(macType)) {
                    contentArray.add(macType);
                }
                System.out.println("contentArray后 : " + contentArray);
            } catch (Exception e) {
              
                e.printStackTrace();
            }
        }            
  	  }
 	}
			

控制臺輸出:

在這里插入圖片描述

到此這篇關(guān)于Java之JsonArray用法講解的文章就介紹到這了,更多相關(guān)Java之JsonArray用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java創(chuàng)建數(shù)組的3種方式代碼舉例

    Java創(chuàng)建數(shù)組的3種方式代碼舉例

    數(shù)組是相同類型數(shù)據(jù)的有序集合,數(shù)組描述的是若干個(gè)相同類型的數(shù)據(jù)按照一定的先后次序排列組合而成,其中每一個(gè)數(shù)據(jù)稱為數(shù)組的元素,可以通過下標(biāo)進(jìn)行訪問,這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建數(shù)組的3種方式,需要的朋友可以參考下
    2024-01-01
  • Java中遍歷數(shù)組使用foreach循環(huán)還是for循環(huán)?

    Java中遍歷數(shù)組使用foreach循環(huán)還是for循環(huán)?

    這篇文章主要介紹了Java中遍歷數(shù)組使用foreach循環(huán)還是for循環(huán)?本文著重講解for語句的語法并給出使用實(shí)例,同時(shí)總結(jié)出盡量使用foreach語句遍歷數(shù)組,需要的朋友可以參考下
    2015-06-06
  • ActiveMQ簡單入門(新手必看篇)

    ActiveMQ簡單入門(新手必看篇)

    下面小編就為大家?guī)硪黄狝ctiveMQ簡單入門(新手必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java二維數(shù)組查找功能代碼實(shí)現(xiàn)

    Java二維數(shù)組查找功能代碼實(shí)現(xiàn)

    這篇文章主要介紹了Java二維數(shù)組查找功能代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java中堆和棧的區(qū)別詳解

    Java中堆和棧的區(qū)別詳解

    這篇文章主要介紹了Java中堆和棧的區(qū)別詳解,所有的Java程序都運(yùn)行在JVM虛擬機(jī)內(nèi)部,我們這里介紹的自然是JVM(虛擬)內(nèi)存中的堆和棧,需要的朋友可以參考下
    2015-01-01
  • java生成隨機(jī)數(shù)的常用方法分析

    java生成隨機(jī)數(shù)的常用方法分析

    這篇文章主要介紹了java生成隨機(jī)數(shù)的常用方法,結(jié)合實(shí)例形式分析了java生成隨機(jī)數(shù)常用的方法功能與相關(guān)使用技巧,需要的朋友可以參考下
    2017-10-10
  • springboot枚舉類型傳遞的步驟

    springboot枚舉類型傳遞的步驟

    這篇文章主要介紹了springboot枚舉類型傳遞的步驟,幫助大家更好的理解和學(xué)習(xí)使用springboot,感興趣的朋友可以了解下
    2021-04-04
  • 解決報(bào)錯:java.lang.IllegalStateException: Failed to execute CommandLineRunner問題

    解決報(bào)錯:java.lang.IllegalStateException: Failed to&nb

    在項(xiàng)目開發(fā)中,可能會遇到Elasticsearch啟動報(bào)錯的問題,原因可能包括版本不一致、端口配置錯誤、配置文件不匹配及服務(wù)未啟動等,解決方法包括檢查進(jìn)程、重啟服務(wù)等,這些經(jīng)驗(yàn)可以幫助開發(fā)者快速定位問題并解決,保證項(xiàng)目順利運(yùn)行
    2024-10-10
  • 關(guān)于Java中方法引用的示例

    關(guān)于Java中方法引用的示例

    方法引用可以認(rèn)為是Lambda表達(dá)式的一種特殊形式,Lambda表達(dá)式可以讓開發(fā)者自定義抽象方法的實(shí)現(xiàn)代碼,方法引用則可以讓開發(fā)者直接引用已存在的實(shí)現(xiàn)方法,作為Lambda表達(dá)式的Lambda體(參數(shù)列表得一致),需要的朋友可以參考下
    2023-05-05
  • SpringCloud feign服務(wù)熔斷下的異常處理操作

    SpringCloud feign服務(wù)熔斷下的異常處理操作

    這篇文章主要介紹了SpringCloud feign服務(wù)熔斷下的異常處理操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論