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

Java中Map與對(duì)象之間互相轉(zhuǎn)換

這篇具有很好參考價(jià)值的文章主要介紹了Java中Map與對(duì)象之間互相轉(zhuǎn)換。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


????????Map在日常開(kāi)發(fā)應(yīng)用中的頻率很高,最常用的實(shí)現(xiàn)類是HashMap和有序的TreeMap。在企業(yè)級(jí)應(yīng)用中,更多的應(yīng)用場(chǎng)景是關(guān)聯(lián)JSON和Object使用,Map可以用于JSON傳參、接收J(rèn)SON參數(shù),返回JSON數(shù)據(jù)等,也可以用于對(duì)象處理,開(kāi)發(fā)者可以省一些簡(jiǎn)單實(shí)體類,用map來(lái)替代。

????????接下來(lái)就提供Map與Object之間互相轉(zhuǎn)換的幾種方式:

Map轉(zhuǎn)Object

方式一:通過(guò)BeanMap轉(zhuǎn)

創(chuàng)建BeanMap并傳入待轉(zhuǎn)對(duì)象,直接把Map的值put到BeanMap中,就轉(zhuǎn)換成功了

	public static Map<String,Object> initMap(){
        Map<String,Object> map = new HashMap<>();
        map.put("userId", 1L);
        map.put("userName", "張三");
        map.put("age", 18);
        map.put("weight", 58.6);
        return map;
    }
    
	public void mapToObj1(){
        Map<String,Object> map = initMap();
        User user = new User();
        BeanMap beanMap = BeanMap.create(user);
        beanMap.putAll(map);
        System.out.println(user);
    }

方式二:通過(guò)fastJson轉(zhuǎn)

先把map轉(zhuǎn)為json字符串,再把json字符串轉(zhuǎn)為對(duì)象

	public void mapToObj2(){
        Map<String,Object> map = initMap();
        String s = JSON.toJSONString(map);
        User user = JSON.parseObject(s, User.class);
        System.out.println(user);
    }

方式三:通過(guò)gson轉(zhuǎn)

先把map轉(zhuǎn)為json字符串,再把json字符串轉(zhuǎn)為對(duì)象

	public void mapToObj3(){
        Map<String,Object> map = initMap();
        Gson gson = new Gson();
        String s = gson.toJson(map);
        User user = gson.fromJson(s, User.class);
        System.out.println(user);
    }

Object轉(zhuǎn)Map

方式一:通過(guò)BeanMap轉(zhuǎn)

實(shí)例化BeanMap的時(shí)候傳入對(duì)象,返回值就是Map

	public static User initUser(){
        User user = new User();
        user.setUserId(2L);
        user.setUserName("李四");
        user.setAge(19);
        user.setWeight(60.4);
        return user;
    }
    
	public void objToMap1(){
        User user = initUser();
        BeanMap beanMap = BeanMap.create(user);
        Map<String, Object> map = beanMap;
        System.out.println(map);
    }

方式二:通過(guò)fastJson轉(zhuǎn)

先把對(duì)象轉(zhuǎn)為json字符串,再把json字符串轉(zhuǎn)為泛型Map或HashMap

	public void objToMap2(){
        User user = initUser();
        String s = JSON.toJSONString(user);
        Map<String, Object> map = JSON.parseObject(s, new TypeReference<Map<String,Object>>(){});
        //下面這種方式也可以轉(zhuǎn)
        //Map<String, Object> map = JSON.parseObject(s, HashMap.class);
        System.out.println(map);
    }

方式三:通過(guò)gson轉(zhuǎn)(不推薦)

先把對(duì)象轉(zhuǎn)為json字符串,再把json字符串轉(zhuǎn)為HashMap

	public void objToMap3(){
        User user = initUser();
        Gson gson = new Gson();
        String s = gson.toJson(user);
        Map<String, Object> map = gson.fromJson(s, HashMap.class);
        System.out.println(map);
    }
不推薦理由

????????如下圖,gson轉(zhuǎn)map的時(shí)候,會(huì)把int型或long型的整形數(shù)據(jù)全部轉(zhuǎn)換為double類型的浮點(diǎn)型,不能實(shí)現(xiàn)準(zhǔn)確轉(zhuǎn)換。只有數(shù)據(jù)類型全部為String時(shí)才可以放心使用!

java map轉(zhuǎn)對(duì)象,Java,數(shù)據(jù)操作,java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-766183.html

到了這里,關(guān)于Java中Map與對(duì)象之間互相轉(zhuǎn)換的文章就介紹完了。如果您還想了解更多內(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)文章

  • js中json與map數(shù)據(jù)互相轉(zhuǎn)換

    通過(guò)JSON.stringify將JSON轉(zhuǎn)為String 再先執(zhí)行第一步isJsonStr ,判斷字符串是否為JSON字符串 再將JSON String 數(shù)據(jù)轉(zhuǎn) MAP MAP 數(shù)據(jù)轉(zhuǎn) JSON String 如果只想要json數(shù)據(jù)可直接return obj 即可

    2024年02月13日
    瀏覽(20)
  • 【Java alibaba&hutool】JSON、Map、實(shí)體對(duì)象間的相互轉(zhuǎn)換

    【Java alibaba&hutool】JSON、Map、實(shí)體對(duì)象間的相互轉(zhuǎn)換

    ??????? 首先要知道三者的互轉(zhuǎn)關(guān)系,可以先將JSON理解成是String類型。這篇博文主要是記錄阿里巴巴的JSONObject的兩個(gè)方法。toJSONString()以及parseObject()方法。順便鞏固Map與實(shí)體對(duì)象的轉(zhuǎn)換技巧。 ??????? 綜上:這里所學(xué)得知識(shí)使用fastjson是實(shí)現(xiàn)Map -- JSON - Bean。其余由糊涂

    2024年02月07日
    瀏覽(23)
  • <Java工具類>json字符串、List Map,List 對(duì)象轉(zhuǎn)換為相應(yīng)的JavaBean對(duì)象

    依賴: 工具類(直接上代碼): 使用場(chǎng)景: (1).使用泛型方法:把json字符串轉(zhuǎn)換為相應(yīng)的JavaBean對(duì)象 ; 一般用于:Controller層: 例如: (2).List Map轉(zhuǎn)換List 對(duì)象:如List,將第二個(gè)參數(shù)傳遞為Student對(duì)象; (3).List 對(duì)象轉(zhuǎn)換List Map:

    2024年02月12日
    瀏覽(29)
  • java 對(duì)象list使用stream根據(jù)某一個(gè)屬性轉(zhuǎn)換成map的幾種方式

    可以使用Java 8中的Stream API將List轉(zhuǎn)換為Map,并根據(jù)某個(gè)屬性作為鍵或值。以下是一些示例代碼: 在這個(gè)示例中,將Person對(duì)象列表轉(zhuǎn)換為Map,其中鍵為Person對(duì)象的name屬性,值為Person對(duì)象本身。 在這個(gè)示例中,將Person對(duì)象列表轉(zhuǎn)換為Map,其中鍵為Person對(duì)象本身,值為Person對(duì)象的

    2024年02月13日
    瀏覽(97)
  • Java中用Stream流對(duì)List對(duì)象集合轉(zhuǎn)Map時(shí)key值重復(fù)的操作

    看完你還不懂,你直接噴·· 定義: 1.List是一個(gè)裝Dto對(duì)象的集合 2.Dto里面有ID屬性,name屬性等等 3.Dto里面的ID會(huì)重復(fù) ?現(xiàn)在要把List轉(zhuǎn)成以ID為key值的map,明顯key不能重復(fù)啊,所以應(yīng)該怎么操作呢? (需要你有java8Stream流的基本概念,map的基本概念) ? 操作1:重復(fù)key,選擇保留

    2024年01月18日
    瀏覽(92)
  • Java中對(duì)于List<Map>對(duì)象中的相關(guān)操作(排序、最大值、最小值、和、平均數(shù))

    一、對(duì)List Map 中指定鍵對(duì)應(yīng)的值進(jìn)行排序 注意: (1)、升序和降序的主要區(qū)別就是方法中調(diào)用compareTo方法的對(duì)象不同,其余沒(méi)有變化 (2)、Map集合的getOrDefault方法是為了防止出現(xiàn)空指針異常(如果你的數(shù)據(jù)都不為空則可以直接用get方法進(jìn)行取值) 二、獲取List Map 中的指定鍵對(duì)應(yīng)的

    2024年02月16日
    瀏覽(23)
  • Java中十六進(jìn)制與十進(jìn)制之間互相轉(zhuǎn)換

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 提示:這里可以添加本文要記錄的大概內(nèi)容: 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 話不多說(shuō),直接上代碼 如將十進(jìn)制數(shù)字 108 轉(zhuǎn)換為十六進(jìn)制 代碼示例如下: 運(yùn)行結(jié)果: 這樣將一個(gè)十

    2024年02月12日
    瀏覽(28)
  • Java 8 中Map轉(zhuǎn)成對(duì)象

    功能: 1.?HashMap<Object,Object> 轉(zhuǎn)成對(duì)象?AlertDeviceInfo 2?List<HashMap<Object,Object>> 轉(zhuǎn)為 List<AlertDeviceInfo 核心代碼: 工具包 實(shí)體類,如果要控制輸出屬性,就展示要輸出的,比如上面11個(gè)屬性,只要2個(gè),寫一個(gè)輸出對(duì)象,就只有2個(gè)屬性的,我這根據(jù)有個(gè)需求,不同公司返

    2024年02月12日
    瀏覽(16)
  • Java中實(shí)體與Map的相互轉(zhuǎn)換

    一、在Java中,可以通過(guò)以下方法將實(shí)體類轉(zhuǎn)換為Map: 利用Java反射機(jī)制: 利用Java 8 Stream API: 以上兩種方法都可以將實(shí)體類轉(zhuǎn)換為Map。需要注意的是,這些方法僅會(huì)將實(shí)體類中的屬性轉(zhuǎn)換為Map中的鍵值對(duì),不會(huì)包含方法、構(gòu)造器、父類屬性等其他部分。 二、要將map轉(zhuǎn)換為實(shí)

    2024年02月05日
    瀏覽(30)
  • MyBatis實(shí)現(xiàn) Java 對(duì)象和數(shù)據(jù)庫(kù)中日期類型之間的轉(zhuǎn)換(超詳細(xì))

    MyBatis實(shí)現(xiàn) Java 對(duì)象和數(shù)據(jù)庫(kù)中日期類型之間的轉(zhuǎn)換(超詳細(xì))

    數(shù)據(jù)庫(kù)存儲(chǔ)的時(shí)間字段的類型是datetime Java實(shí)體類的時(shí)間字段類型是Date 需求:響應(yīng)前端的時(shí)間字段格式為”yyyy-MM-dd HH:mm:ss“ 1、定義resultMap 定義 Java 對(duì)象和數(shù)據(jù)庫(kù)表字段的對(duì)應(yīng)關(guān)系,在 mapper.xml 文件中使用 #{屬性名,jdbcType=數(shù)據(jù)庫(kù)字段類型} 來(lái)進(jìn)行參數(shù)傳遞和結(jié)果集映射,例如

    2024年02月15日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包