Java编程小技巧(1)——方法传回两个对象
2022-05-09 12:34
573 查看
原文地址:Java编程小技巧(1)——方法传回两个对象 | Stars-One的杂货小窝
题目是个伪命题,由Java语法我们都知道,方法要么返回一个对象,要么就不返回
当有这样的情况,我们需要返回两个或多个对象,该怎么做呢?
1.多对象封装成单个类中的多个字段
这种方法详细各位都能理解,无非就是新建一个类,然后类里面再有几个字段即可
class MyResult { Student student; People people; //省略get/set方法和构造方法 } public MyResult test(){ Student student = new Student(); People people = new People(); return new MyResult(student,people); }
但如果我们情况比较多的话,每次新建类都很麻烦,有没有更方便的一种使用呢?
当然是有的,我们可以使用Pair类
2.使用Pair
类和MutableTriple
类
Pair和
MutableTriple都是lang3包中提供的,所以要使用,得先加入依赖
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.8</version> </dependency>
还是上面的例子,我们可以使用Pair改造一下
public Pair<Student,People> test(){ Student student = new Student(); People people = new People(); Pair<Student,People> pair = Pair.of(student, people); return pair; } //获取数值 Student s = pair.getLeft(); People p = pair.getRight();
可以看到,我们无需声明一个新的类即可实现我们需要返回两个对象的需求
如果是三个对象,则是同理,只不过是使用到了MutableTriple,泛型接收三个
MutableTriple<String, Integer, String> pairs = MutableTriple.of("", 1, ""); //获取数值 String s = pairs.getLeft(); Integer i = pairs.getMiddle(); String s1 = pairs.getRight();
什么,你问我有没有四个对象的Pair类,那肯定是没有的:joy:
因为超过三个,官方都推荐新建个类来实现了!!
补充-Kotlin中的Pair和Triple类
最后,在Kotlin中,默认已经上述这两个类的实现
//Pair使用 val data = Pair("",1) val fstValue = data.first val secValue = data.second //Triple使用 val data = Triple("",1,2) val fstValue = data.first val secValue = data.second val thirdValue = data.third
相关文章推荐
- Java高效编程之二【对所有对象都通用的方法】
- 【学习java编程思想】day_1面向对象程序设计的方法
- 用JAVA语言编写程序:包含两个类,一个类Cricle中包含计算圆周长,面积的方法。在另一个类Compute中给出半径值为10,创建对象,并调用Cricle类中的方法,计算该对象的面积、周长并显示出结
- java中两个对象间的属性值复制,比较,转为map方法实现
- 传智黑马Java → 03两个对象使用同一种方法的内存图
- 跟着姜少学Java基础编程之十二:面向对象-构造方法
- JAVA中两个不同对象的equals方法使用注意点
- 实现Java中对象比较的两个方法
- java程序练习:尝试创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,为子类创建一个对象,将他向上转型到基类并调用这个方法。
- Java网络编程从入门到精通(2):创建InetAddress对象的四个静态方法
- .编程:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对象
- Java中两个对象的比较 equals()方法和==号的区别
- java比较两个对象是否相等的方法
- 用java.util.Collections中的sort方法对两个类的对象进行排序
- Java高效编程之二【对所有对象都通用的方法】
- JAVA中申请了两个对象,分别在调用方法和声明方法中把其中一个对象直接赋值给另外一个对象,运行结果,求原理。
- Java中两个对象的比较 equals()方法和==号的区别
- java中判断两个对象是否相等的方法和代码
- 定义一个计算机类:属性:品牌;价格;颜色; 方法:(1)编程的功能 (2)上网的功能 实例化两个对象:“lenovo”;“hasee”
- Java String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致