> 文章列表 > <Java基础语法>多个对象合并成一个对象返回案例

<Java基础语法>多个对象合并成一个对象返回案例

<Java基础语法>多个对象合并成一个对象返回案例

直接上代码:

package com.itheima2;public class Cat {private String name;private String gender;private String color;private String variety;  // 品种public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public String getVariety() {return variety;}public void setVariety(String variety) {this.variety = variety;}
}
package com.itheima2;public class Dog {private String name;private String gender;private String color;private String variety;  // 品种public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public String getVariety() {return variety;}public void setVariety(String variety) {this.variety = variety;}
}
package com.itheima2;public class Animal {private Dog dog;private Cat cat;public Dog getDog() {return dog;}public void setDog(Dog dog) {this.dog = dog;}public Cat getCat() {return cat;}public void setCat(Cat cat) {this.cat = cat;}
}

测试返回输出:

package com.itheima2;public class TestDemo {public static void main(String[] args) {Animal a = AnimalTest();System.out.println(a.getCat().getColor());System.out.println(a.getCat().getGender());System.out.println(a.getCat().getName());}private static Animal AnimalTest() {Animal animal = new Animal();Dog dog = new Dog();Cat cat = new Cat();dog.setColor("土黄色");dog.setName("小黄狗");dog.setGender("公的");cat.setColor("白色");cat.setName("咪咪");cat.setGender("公的");animal.setCat(cat);animal.setDog(dog);return animal;}
}

大对象包含小对象返回数据:
最终返回的这个大对象也可以放入Rest封装的工具类返回前台;

一、工具类一RestResponse
RestResponse(对内Rest接口-推荐)
package com.example.demo.result;import java.io.Serializable;/

  • REST接口统一返回数据工具类封装RestResponse
  • @param
    /publicclassRestResponseimplementsSerializable{privatestaticfinallong serialVersionUID=3728877563912075885L;privateint code;private String msg;private T data;publicRestResponse(){}publicRestResponse(int code, String message, T data){this.code= code;this.setMsg(message);this.data= data;}publicRestResponse(int code, T data){this.code= code;this.data= data;}publicRestResponse(int code, String message){this.code= code;this.setMsg(message);}/*
    • 成功时-返回data
    • @param
    • @return
      /publicstatic RestResponsesuccess(T data){returnnewRestResponse(200, null, data);}/*
    • 成功-不返回data
    • @param
    • @return
      /publicstatic RestResponsesuccess(String msg){returnnewRestResponse(200, msg);}/*
    • 成功-返回data+msg
    • @param
    • @return
      /publicstatic RestResponsesuccess(String msg, T data){returnnewRestResponse(200, msg, data);}/*
    • 失败
    • @param
    • @return
      /publicstatic RestResponsefail(String msg){returnnewRestResponse(500, msg,null);}/*
    • 失败-code
    • @param
    • @return
      /publicstatic RestResponsefail(int code, String msg){returnnewRestResponse(code, msg,null);}publicintgetCode(){return code;}public StringgetMsg(){return msg;}public TgetData(){return data;}publicvoidsetCode(int code){this.code= code;}publicvoidsetMsg(String msg){this.msg= msg;}publicvoidsetData(T data){this.data= data;}@Overridepublic StringtoString(){return"RestResponse{“+“code=”+ code+”, msg=‘"+ msg+’‘’+“, data=”+ data+‘}’;}}
      二、工具类二RpcResponse
      RpcResponse(对外Rpc接口)
      package com.example.oss.result;import lombok.Builder;import lombok.Data;import lombok.experimental.Accessors;import java.io.Serializable;/
      *
  • @desc:
  • @author: cao_wencao
  • @date: 2020-11-06 17:04
    /@Data@Accessors(chain=true)@BuilderpublicclassRpcResponseimplementsSerializable{publicstaticfinalint CODE_200=200;publicstaticfinalint CODE_500=500;privatestaticfinallong serialVersionUID=-1559957698621135646L;/*
    • 消息 CODE_200
      /privateint code= CODE_500;/*
    • 信息
      /private String message;/*
    • 数据
      /private Object data;/*
    • Instantiates a new Api result.
      /publicRestResponse(){super();}/*
    • Instantiates a new Api result.
    • @param code the code
    • @param message the message
    • @param data the data
      /publicRpcResponse(int code, String message, Object data){this.code= code;this.message= message;this.data= data;}/*
    • Instantiates a new Api result.
    • @param code the code
    • @param message the message
      /publicRpcResponse(int code, String message){this(code, message, null);}/*
    • 错误
    • @param message the message
    • @return api result
      /publicstatic RpcResponseerror(String message){returnnewRpcResponse(CODE_500, message, null);}/*
    • 错误
    • @param code the code
    • @param message the message
    • @return api result
      /publicstatic RpcResponseerror(int code, String message){returnnewRpcResponse(code, message);}/*
    • 成功
    • @param message the message
    • @return api result
      /publicstatic RpcResponsesuccee(String message){returnnewRpcResponse(CODE_200, message);}/*
    • 成功
    • @param data the data
    • @param message the message
    • @return api result
      /publicstatic RpcResponsesuccee(Object data, String message){returnnewRpcResponse(CODE_200, message, data);}/*
    • 成功
    • @param data the data
    • @return api result
      /public RpcResponsesuccess(Object data){returnnewRpcResponse(CODE_200, null, data);}}
      三、工具类三RestResponse
      RestResponse(对内Rest接口)
      package com.example.oss.result;import lombok.Builder;import lombok.Data;import lombok.experimental.Accessors;import java.io.Serializable;/
      *
  • @desc:
  • @author: cao_wencao
  • @date: 2020-11-06 17:04
    /@Data@Accessors(chain=true)@BuilderpublicclassRestResponseimplementsSerializable{publicstaticfinalint CODE_200=200;publicstaticfinalint CODE_500=500;privatestaticfinallong serialVersionUID=-1559957698621135646L;/*
    • 消息 CODE_200
      /privateint code= CODE_500;/*
    • 信息
      /private String message;/*
    • 数据
      /private Object data;/*
    • Instantiates a new Api result.
      /publicRestResponse(){super();}/*
    • Instantiates a new Api result.
    • @param code the code
    • @param message the message
    • @param data the data
      /publicRestResponse(int code, String message, Object data){this.code= code;this.message= message;this.data= data;}/*
    • Instantiates a new Api result.
    • @param code the code
    • @param message the message
      /publicRestResponse(int code, String message){this(code, message, null);}/*
    • 错误
    • @param message the message
    • @return api result
      /publicstatic RestResponseerror(String message){returnnewRestResponse(CODE_500, message, null);}/*
    • 错误
    • @param code the code
    • @param message the message
    • @return api result
      /publicstatic RestResponseerror(int code, String message){returnnewRestResponse(code, message);}/*
    • 成功
    • @param message the message
    • @return api result
      /publicstatic RestResponsesuccee(String message){returnnewRestResponse(CODE_200, message);}/*
    • 成功
    • @param data the data
    • @param message the message
    • @return api result
      /publicstatic RestResponsesuccee(Object data, String message){returnnewRestResponse(CODE_200, message, data);}/*
    • 成功
    • @param data the data
    • @return api result
      */public RestResponsesuccess(Object data){returnnewRestResponse(CODE_200, null, data);}}