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

743 篇文章 3 订阅
742 篇文章 2 订阅

题目是个 伪命题 ,由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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值