Java中方法返回多个值?---- 泛型的应用
来源:互联网 发布:太阳能充电 知乎 编辑:程序博客网 时间:2024/06/03 19:42
在开发的时候,总能碰到一个方法返回多个值的情形,除了将对象以入参的方式传到方法内部以外,还可以通过泛型构造元组来实现。
元组类实例
public class Tuple {public static void main(String[] args) {System.out.println(Tuple.create("asdf", 123));}public static <A, B> TwoTuple<A, B> create(A a, B b) {return new TwoTuple<A, B>(a, b);}public static <A, B, C> ThreeTuple<A, B, C> create(A a, B b, C c) {return new ThreeTuple<A, B, C>(a, b, c);}public static <A, B, C, D> FourTuple<A, B, C, D> create(A a, B b, C c, D d) {return new FourTuple<A, B, C, D>(a, b, c, d);}private static class TwoTuple<A, B> extends Tuple{public final A a;public final B b;public TwoTuple(A a, B b) {this.a = a;this.b = b;}@Overridepublic String toString() {StringBuilder builder = new StringBuilder();builder.append("TwoTuple [");if (a != null)builder.append("a=").append(a).append(", ");if (b != null)builder.append("b=").append(b);builder.append("]");return builder.toString();}}private static class ThreeTuple<A, B, C> extends TwoTuple<A, B> {public final C c;public ThreeTuple(A a, B b, C c) {super(a, b);this.c = c;}@Overridepublic String toString() {StringBuilder builder = new StringBuilder();builder.append("ThreeTuple [");if (a != null)builder.append("a=").append(a).append(", ");if (b != null)builder.append("b=").append(b);if (c != null)builder.append("c=").append(c).append(", ");builder.append("]");return builder.toString();}}private static class FourTuple<A, B, C, D> extends ThreeTuple<A, B, C> {public final D d;public FourTuple(A a, B b, C c, D d) {super(a, b, c);this.d = d;}@Overridepublic String toString() {StringBuilder builder = new StringBuilder();builder.append("FourTuple [");if (a != null)builder.append("a=").append(a).append(", ");if (b != null)builder.append("b=").append(b);if (c != null)builder.append("c=").append(c).append(", ");if (d != null)builder.append("d=").append(d).append(", ");builder.append("]");return builder.toString();}}}
使用方法
public class Test {public static void main(String[] args) {Tuple t = Tuple.create("123", 1);System.out.println(Tuple.create("asdf", 123));}}
0 0
- Java中方法返回多个值?---- 泛型的应用
- Java返回泛型的方法-实例
- JAVA语言中方法的返回值
- 从函数中返回多个值的方法
- Java:方法返回多个值
- java 泛型方法的应用
- java中虚方法的应用举例
- java中的方法返回值使用泛型,实现灵活的返回值类型
- 【转】DWR中Java方法的参数及返回值
- DWR中Java方法的参数及返回值
- DWR中Java方法的参数及返回值上篇
- Java NIO中SocketChannel read方法的返回值问题
- Java方法中有循环的时候返回值问题
- JAVA IO中read()方法的返回值
- java中有无参数和返回值的方法
- Java中“接口”可以作为方法的返回值吗?
- Java方法中返回值,和打印的理解
- Java中“泛型之泛型类、泛型方法“和'泛型通配符"的应用总结
- 返回单个匹配结果 正则(PHP代码函数)
- Android 项目结构说明
- CENTOS6 安装VNC
- 策略模式
- MinGW for GCC IDE(参考尹成老师视频)
- Java中方法返回多个值?---- 泛型的应用
- 返回所有匹配结果 正则(PHP代码函数)
- this指针不全等于对象地址
- 谱聚类算法(Spectral Clustering)
- 格式化模板调用参数 返回数组 Monxin专用(PHP代码函数)
- linux win 安装snmpwalk
- 设计模式读书笔记(开篇)
- JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别
- Sublime Text 3 《第一章 - 引入》