日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xoa中范型的应用

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xoa中范型的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

泛型,即“參數化類型”。一提到參數,最熟悉的就是定義方法時有形參,然后調用此方法時傳遞實參。那么參數化類型怎么理解呢?顧名思義,就是將類型由原來的具體的類型參數化,類似于方法中的變量參數,此時類型也定義成參數形式(可以稱之為類型形參),然后在使用/調用時傳入具體的類型(類型實參)。

泛型的好處是在編譯的時候檢查類型安全,并且所有的強制轉換都是自動和隱式的,以提高代碼的重用率。

例子一:使用了泛型 class?Gen<T>?{ ????private?T?ob;?//?定義泛型成員變量 ????public?Gen(T?ob)?{ ????????this.ob?=?ob; ????} ????public?T?getOb()?{ ????????return?ob; ????} ????public?void?setOb(T?ob)?{ ????????this.ob?=?ob; ????} ????public?void?showType()?{ ????????System.out.println("T的實際類型是:?"?+?ob.getClass().getName()); ????} } public?class?GenDemo?{ ????public?static?void?main(String[]?args)?{ ????????//?定義泛型類Gen的一個Integer版本 ????????Gen<Integer>?intOb?=?new?Gen<Integer>(88); ????????intOb.showType(); ????????int?i?=?intOb.getOb(); ????????System.out.println("value=?"?+?i); ????????System.out.println("----------------------------------"); ????????//?定義泛型類Gen的一個String版本 ????????Gen<String>?strOb?=?new?Gen<String>("Hello?Gen!"); ????????strOb.showType(); ????????String?s?=?strOb.getOb(); ????????System.out.println("value=?"?+?s); ????} } 例子二:沒有使用泛型 class?Gen2?{ ????private?Object?ob;?//?定義一個通用類型成員 ????public?Gen2(Object?ob)?{ ????????this.ob?=?ob; ????} ????public?Object?getOb()?{ ????????return?ob; ????} ????public?void?setOb(Object?ob)?{ ????????this.ob?=?ob; ????} ????public?void?showTyep()?{ ????????System.out.println("T的實際類型是:?"?+?ob.getClass().getName()); ????} } public?class?GenDemo2?{ ????public?static?void?main(String[]?args)?{ ????????//?定義類Gen2的一個Integer版本 ????????Gen2?intOb?=?new?Gen2(new?Integer(88)); ????????intOb.showTyep(); ????????int?i?=?(Integer)?intOb.getOb(); ????????System.out.println("value=?"?+?i); ????????System.out.println("---------------------------------"); ????????//?定義類Gen2的一個String版本 ????????Gen2?strOb?=?new?Gen2("Hello?Gen!"); ????????strOb.showTyep(); ????????String?s?=?(String)?strOb.getOb(); ????????System.out.println("value=?"?+?s); ????} } 運行結果: 兩個例子運行Demo結果是相同的,控制臺輸出結果如下: T的實際類型是: java.lang.Integer value= 88 ---------------------------------- T的實際類型是: java.lang.String value= Hello Gen! Process finished with exit code 0 看明白這個,以后基本的泛型應用和代碼閱讀就不成問題了。

xoa中一般分為三個工程,api定義數據類型,client客服端,server服務器端。

假設server依賴了common工程,當common中的model1或者model2中的屬性屬于返回的數據時(model1 || model2),就需要在api中重新定義一個model1或者model2與之對應(因為api不依賴common)。

后來想到了用泛型

在api中返回的data中用泛型表示model1或者model2,比如

public class MyPurchaseDetailData<T> extends BaseResponse {

private Map<String, T> map;//用于記錄投保詳情

......

唯一的一個問題是,通過泛型返回的model1中的int類型的值,會被轉為double類型,當該值需要作為請求中的參數時,需要轉一下

<fmt:parseNumber value="${item.id}" integerOnly="true"/>

?

轉載于:https://www.cnblogs.com/govoid/p/5557652.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的xoa中范型的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。