Java编程小技巧(1)——方法传回两个对象

博客 分享
0 194
优雅殿下
优雅殿下 2022-05-09 12:58:59
悬赏:0 积分 收藏

Java编程小技巧(1)——方法传回两个对象

原文地址: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

PairMutableTriple都是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类,那肯定是没有的??

因为超过三个,官方都推荐新建个类来实现了!!

补充-Kotlin中的Pair和Triple类

最后,在Kotlin中,默认已经上述这两个类的实现

//Pair使用val data = Pair("",1)val fstValue = data.firstval secValue = data.second//Triple使用val data = Triple("",1,2)val fstValue = data.firstval secValue = data.secondval thirdValue = data.third
posted @ 2022-05-09 12:34 Stars-one 阅读(8) 评论(0) 编辑 收藏 举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员