美文网首页java日常开发
JAVA方法返会一个或多个对象或者参数写法实践

JAVA方法返会一个或多个对象或者参数写法实践

作者: 运气爆棚lsw | 来源:发表于2022-04-14 09:32 被阅读0次
JAVA方法返会一个或多个对象写法实践,有时候需要一个方法返回多个对象
但是没办法一次性返回,常见解决方案如下:

1.使用Pair函数可以同时返回2个对象

2.使用Triple函数可以同时返回3个对象

3.定义一个任意对象,函数可以同时返回任意个数对象

4.使用容器集合,Map或者List

Maven仓库地址

https://mvnrepository.com/search?q=jic-starter-mybatis

使用函数需要引入相关包依赖

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

package com.example.demo.controller;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.ImmutableTriple;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;

import java.util.HashMap;
import java.util.Map;

/**
 * @author lisanwei24282
 */
public class Result {

    public static void main(String[] args) {

        /* 第一种:返回2个对象(仅仅返回两个对象) */
        Pair<ObjectDTO, ResultDTO> objectResultPair = getMultipleObject();
        // 第一个对象
        ObjectDTO left = objectResultPair.getLeft();
        // 第二个对象
        ResultDTO right = objectResultPair.getRight();

        /* 第二种:返回2个对象(仅仅返回三个对象) */
        Triple<ObjectDTO, ResultDTO, NewDTO> tripleObject = getMultipleTripleObject();
        // 第一个对象
        ObjectDTO left1 = tripleObject.getLeft();
        // 第二个对象
        ResultDTO middle = tripleObject.getMiddle();
        // 第三个对象
        ResultDTO right3 = objectResultPair.getRight();

        /* 第三种:创建一个任意对象,定义对象属性(返回任意对象) */
        new Result.ResultDTO(new ObjectDTO(), new ResultDTO(), new NewDTO());

        /* 第四种:使用集合创建任意对象 */
        Map<String, Object> map = new HashMap<>(10);
        map.put("ObjectDTO", new ObjectDTO());
        map.put("ResultDTO", new ResultDTO());
        map.put("NewDTO", new NewDTO());
    }


    /**
     * 使用批量对象数据
     *
     * @return 结果集
     */
    public static Pair<ObjectDTO, ResultDTO> getMultipleObject() {
        return ImmutablePair.of(new ObjectDTO(), new ResultDTO());
    }

    /**
     * 使用批量对象数据
     *
     * @return 结果集
     */
    public static Triple<ObjectDTO, ResultDTO, NewDTO> getMultipleTripleObject() {
        return ImmutableTriple.of(new ObjectDTO(), new ResultDTO(), new NewDTO());
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class ObjectDTO {
        private ObjectDTO object1;
        private ObjectDTO object2;
        private ObjectDTO object3;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class ResultDTO {
        private ObjectDTO object1;
        private ResultDTO object2;
        private NewDTO object3;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class NewDTO {
        private NewDTO object1;
        private NewDTO object2;
        private NewDTO object3;
    }

}

相关文章

  • JAVA方法返会一个或多个对象或者参数写法实践

    JAVA方法返会一个或多个对象写法实践,有时候需要一个方法返回多个对象 但是没办法一次性返回,常见解决方案如下: ...

  • React学习知识点收集

    箭头函数 写法总结 没有参数 有一个参数 有多个参数 返回值为对象 参数为一个对象的特殊写法 学习到的新方法 js...

  • JAVA里的元祖类

    什么是元祖类   java中的方法只能返回单个对象,如果需要返回多个怎么办?通常我们会创建一个额外的对象,或者把返...

  • JS对象的内置方法(需要好好记忆哦~)

    Array对象 1.unshift方法 功能:给数组开头添加一个或者多个参数:一个或多个返回值:数组的长度原来的数...

  • 线程间的共享和协作

    java 支持多个线程同时访问一个对象或者是对象的成员变量,关键字 synchroninzed 可以修饰方法或者...

  • java基本知识之协程

    Java 支持多个线程同时访问一个对象或者对象的成员变量,关键字synchronized 可以修饰方法或者以同步块...

  • Java最佳实践(1)-创建对象

    Java最佳实践(1)-创建对象 使用静态工厂方法创建 from: 类型转换方法,它只有单个参数,返回该类型的一个...

  • JAVA--方法的重载

    Java中支持两个或者多个方法的的方法名相同,但是方法中参数的个数或者类型必须有区别,这既是Java的重载,Jav...

  • NSInvocation的基本用法

    NSInvocation是调用方法的对象,等于说是吧方法封装成了一个对象,保存了方法所属的对象/方法名称/参数/返...

  • Object.assign()方法的使用

    Object.assign()接口可以接收多个参数,第一个参数是目标对象,后面的都是源对象,assign方法将多个...

网友评论

    本文标题:JAVA方法返会一个或多个对象或者参数写法实践

    本文链接:https://www.haomeiwen.com/subject/xiftertx.html