一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java奇淫技巧之如何寫最少的代碼

Java奇淫技巧之如何寫最少的代碼

2020-12-15 01:22是Kerwin啊柯小賢 Java教程

由于性格原因,筆者很難沉下心來進行嚴肅的系統學習,總是喜歡折騰一些奇淫技巧,非常喜歡代碼設計,扣代碼的細節,所以本次分享一下我所知道的如何寫最少的代碼的小技巧.

Java奇淫技巧之如何寫最少的代碼

原標題:「奇淫技巧」如何寫最少的代碼

前言

由于性格原因,筆者很難沉下心來進行嚴肅的系統學習,總是喜歡折騰一些奇淫技巧,非常喜歡代碼設計,扣代碼的細節,所以本次分享一下我所知道的如何寫最少的代碼的小技巧。

Java:我想返回多個返回值

秀一下Go的多返回值:

package main 

import "fmt" 

 

// 返回 X + Y 和 X * Y 

func Computer(X, Y int) (intint) { 

    return X + Y, X * Y 

眾所周知,Java僅支持單一返回值,一般情況下如果需要返回多個對象,我們會根據代碼語義選擇容器或者新建一個新的類,把我們需要的數據包起來。

這樣做有沒有問題?當然沒有問題,但是瑕疵就在于:可能會產生沒啥語義但又不得不存在的中間類,我個人非常討論該類代碼,那么該如何解決這種問題呢?

首先需要認識到,解決方案必須滿足幾個要求:

  • 代碼可復用
  • 語義要清晰
  • 安全

既然如此,我們可以采用泛型來滿足復用、語義清晰的要求,用中間類來滿足代碼安全性的要求,代碼如下:

public class MultipleTwoReturn<A, B> { 

    /** 第一個返回值 **/ 

    private final A first

 

    /** 第二個返回值 **/ 

    private final B second

 

    public MultipleTwoReturn(A first, B second) { 

        this.first = first

        this.second = second

    } 

 

    // 省略Get方法 

同時,我們可以依賴于繼承,讓該工具類拓展更多的參數:

public class MultipleThreeReturn<A, B, C> extends MultipleTwoReturn<A, B> { 

 

    /** 第三個返回值 **/ 

    private final C third; 

 

    public MultipleThreeReturn(A first, B second, C third) { 

        super(firstsecond); 

        this.third = third; 

    } 

測試類:

public class MultipleApp { 

 

    public static void main(String[] args) { 

        MultipleTwoReturn<Integer, String> returnTest = MultipleApp.getReturnTest(); 

        System.out.println(returnTest.getFirst()); 

        System.out.println(returnTest.getSecond()); 

    } 

 

    private static MultipleTwoReturn<Integer, String> getReturnTest() { 

        MultipleTwoReturn<Integer, String> demo = new MultipleTwoReturn<>(0, "Kerwin Demo."); 

        return demo; 

    } 

本質還是普通對象,但是加上泛型后威力劇增!由于在方法定義時就強制了泛型約束,語義非常清晰,同時可以完全杜絕上述的無語義中間類,當然一些必要的,有業務含義的組裝類,不建議使用這種方式。

泛型:我想new一個對象

大家在學Java泛型之初有沒有這種想法?我想利用作為泛型約束,卻需要new一個T,但是Java它new不出來啊

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 丁香网五月天 | 午夜香蕉成视频人网站高清版 | 精品综合久久久久久97超人 | 日韩一区视频在线 | 国产福利视频一区二区微拍 | 四虎b7s22c0m | 欧美日韩久久中文字幕 | 特黄特黄aaaa级毛片免费看 | 男女刺激高清视频在线观看 | 国产精品久久久久a影院 | 日本免费v片一二三区 | 国产图片综合区 | 538免费精品视频搬运工 | 深夜激情网站 | 国产在亚洲线视频观看 | 99热成人精品热久久669 | 8x8x极品国产在线 | α片免费| 糖心vlog视频永久破解版 | 成人在线观看一区 | 免费看国产一级片 | 国产卡一卡二卡3卡乱码免费 | 欧美日韩精品一区二区三区高清视频 | www在线视频在线播放 | 麻豆视频免费在线观看 | 亚洲欧美优优色在线影院 | a级片欧美 | 日韩精品视频在线播放 | 娇妻中日久久持久久 | 大吊操 | japanesexxxx日本妞 | 日本无卡无吗中文免费 | 好大好硬好深好爽想要之黄蓉 | 久久精品午夜一区二区福利 | 欧美日韩成人在线视频 | 法国女佣系列在线播放 | 免费理伦片高清在线 | 热99re国产久热在线 | 按摩师他揉我奶好爽捏我奶 | 国产福利资源网在线观看 | 国产精品色爱综合网 |