【问题标题】:How do I make an array method return a single object when the array length is 1?当数组长度为 1 时,如何使数组方法返回单个对象?
【发布时间】:2018-01-13 19:50:51
【问题描述】:

我在我创建的类中有一个方法。该类的每个对象都具有一个 Object 数组的属性,并且该方法返回该数组。但是,当数组长度为 1 时,我有没有办法只从数组中返回单个对象?

【问题讨论】:

标签: java arrays class object


【解决方案1】:

你不能。如果一个方法被声明为返回Object[],你就不能返回Object。类型不兼容。

但您也不想这样做。从返回集合的方法返回 null 是一种常见的反模式。最好返回一个空集合,这样调用者就不必检查null。他们可以只遍历空集合。无论如何,代码几乎总是会做正确的事情。

这个简单的循环...

for (int n: getNumbers()) {
    performCalculation(n);
}

...变成这个不雅的烂摊子:

int[] numbers = getNumbers();

if (numbers != null) {
    for (int n: numbers) {
        performCalculation(n);
    }
}

同样,即使有可能,对单个元素进行特殊封装也会使调用者的工作更加复杂。他们必须检查是否有一个集合或单个对象和分支。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    相关资源
    最近更新 更多