Java 语言的缺陷之五: 多返回值问题
Java 函数无法自然支持多个返回值 在很多开发任务中,函数需要同时返回多个结果是非常常见的情况。比如一个用户认证的方法,可能既需要返回是否成功的信息,还需要携带用户数据。但在 Java 中,函数默认只能返回一个对象。如果开发者想返回多个值,就不得不采用一些变通手段,比如封装成一个类或使用数组。 这种设计给开发带来了不少不便。封装类虽然可行,但显得臃肿,为了返回两个简单值还得多定义一个类,增加了代码量和维护成本。而数组方式虽然简洁,却牺牲了可读性和类型安全性,容易导致错误。长期使用这种方式,会让代码结构变得混乱,也不利于团队协作。 相比之下,许多现代语言都提供了对多返回值的原生支持。比如 Python 可以直接使用逗号分隔多个返回值,Go 语言甚至明确鼓励函数返回多个值。这种语法让函数的表达能力更强,调用和接收也更直观。Java 在这方面的保守设计,确实落后于主流趋势。 额外的数据结构让代码显得笨重 当 Java 程序员试图让函数返回多个结果时,常见的做法就是定义一个新的类,把所有需要返回的字段包裹进去。这种方式虽然结构清晰,但也导致了大量冗余的样板代码。尤其在业务复杂、函数多变的系统中,这类“返回包装类”数量庞大,阅读和维护成本随之上升。 例如,一个查询方法可能返回 status、message 和…