前言 由于性格原因,笔者很难沉下心来进行严肃的系统学习,总是喜欢折腾一些奇淫技巧,非常喜欢代码设计,扣代码的细节,所以本次分享一下我所知道的如何写最少的代码的小技巧,如果你有更好的方案,欢迎在评论区留言,方案很棒的话,加我微信,为你送上冬天的一杯奶茶~

Java:我想返回多个返回值 秀一下Go的多返回值:

package main import "fmt"

// 返回 X + Y 和 X * Y func Computer(X, Y int) (int, int) { 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(first, second);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不出来啊

「奇淫技巧」如何写最少的代码相关推荐

  1. JavaScript奇淫技巧:隐写术

    JavaScript奇淫技巧:隐写术 本文将用JavaScript实现"图片隐写术". 什么是隐写术? 将文本或其它数据写入图片的技术,称为"隐写术". 比如下 ...

  2. JavaScript:探索神秘的旁门左道奇淫技巧

    引言: JavaScript作为一种广泛使用的编程语言,具有出色的灵活性和强大的功能.除了其常规用途外,它还隐藏着一些奇淫技巧,这些技巧可以让你在编程过程中事半功倍.本文将揭示JavaScript的一 ...

  3. Qt奇淫技巧-使用QSharedMemory方式实现数据跨界面传输

    关于QSharedMemory相关的知识点在下面这个链接中! https://blog.csdn.net/qq78442761/article/details/81738155 这里使用QShared ...

  4. 【JavaScript】转载:JS高端奇淫技巧

    转自 : https://blog.csdn.net/github_38885296/article/details/91038735 感谢作者(流浪的狗和一坨屎)分享 众所周知, JavaScrip ...

  5. 30个Python奇淫技巧集

    我们的青铜菜鸟群最近加了很多人,有不少是学生加入的,在后台的留言跟我们说,时间紧任务重,又要考研,又要学Python,而Python里面的技巧又非常多,能否整理一份技巧集给我们. 今天小编熬夜整理了一 ...

  6. JavaScript奇淫技巧:压缩并加密图片

    本文将用JavaScript实现两个颇有技术含量的功能:压缩图片.加密图片. 直入正题: 一.压缩图片 压缩原理: 将图片读入canvas,并使用canvas的toDataURL方法将图片base64 ...

  7. JS高端奇淫技巧(持续更新)

    众所周知, JavaScript是一门很骚的语言, 写一句话有很多种表达方式, 语法怪异而风骚, 自由而散漫, 或许这就是JS成为最流行语言的原因吧. 本文收集了JS开发中常用的各种奇淫技巧, 一句话 ...

  8. idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率

    idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率 !!! 知道类名查找你本地以的类 (你pom中依赖的类+你自己创建的类)------------- ctrl+shift+t 修改你创建 ...

  9. NGINX的奇淫技巧 —— 7. IF实现数学比较功能 (2)

    接上文 <NGINX的奇淫技巧 -- 6. IF实现数学比较功能 (1)> NGINX竟然不支持这样的写法.... location = /test/ {default_type html ...

最新文章

  1. HDU1106字符串排序题
  2. 汇编转c语言,如何把汇编语言转换成C语言
  3. mysql 主被切换_mysql 主从切换
  4. Python 从零学起(纯基础) 笔记 (二)
  5. 动物统计加强版(贪心,字典序)
  6. elementUI树状图竖向滚动条和横向滚动条问题
  7. Origin Pro中常用的快捷键
  8. Python的scrapy框架POST方式爬虫时碰见__VIEWSTATE和__EVENTVALIDATION的参数处理
  9. python中random什么意思_python中的random
  10. android钱包nfc功能,Android NFC(二)M1卡电子钱包功能
  11. [Remoting]dotNet Framework升级后Remoting信道使用的安全问题
  12. Java的书写汽车价格_ES Java API_基于mget实现多辆汽车的配置与价格对比
  13. dom定义了访问html文档对象的一套,HTML DOM基础知识(示例代码)
  14. delphi 2010 mysql_Delphi2010 DBExpress+MySQL 程序的打包
  15. 地磁计HMC5883L
  16. 在入口文件main.js引入styl报错,不断修改后运行正常了
  17. 魔戒显示网络错误 或者服务器停机,指环王安装和运行过程中的常见问题及解决办法(汇总)...
  18. Python之os库
  19. mac下如何使用ssh-copy-id完成ssh的公钥认证登录
  20. serial port not selected

热门文章

  1. cap理论具体含义_CAP理论
  2. p级数敛散性积分方式证明
  3. 基于机智云和ShineBlink的智能加湿器方案
  4. quartus II Altera FPGA 未使用管脚默认设置
  5. C语言for循环和while循环的区别
  6. EMNLP 22:Bi-Directional Iterative Prompt-Tuning for Event Argument Extraction
  7. python写出来的程序怎么用_python写完程序怎么运行
  8. BUGKU 眼见为实
  9. python tkinter制作用户登录界面
  10. c语言##连接符号使用