当前位置: 首页 > 知识库问答 >
问题:

如何从静态方法返回参数化列表?[重复]

丰智
2023-03-14

我想返回与我在items中获得的参数具有相同对象的相同列表。如果我得到列表

这是一种方法,例如:

public static List example(List items) {
    // Some work with items
    return items;
}

共有2个答案

尉迟龙光
2023-03-14

这就是所谓的泛型方法,您使用名为T的类型参数定义了一个方法,然后在返回类型和参数类型中使用它

public static <T> List<T> example(List<T> items) {
    // Some work with items
    return items;
}

例如你可以在这里读到

  • Java中的泛型参数类型和返回类型
  • Java通用返回类型(具有类似的输入参数)
乌鸿宝
2023-03-14

那么,为该方法提供一个泛型类型:

static <T> List<T> example(List<T> items) {
    return items;
}

这样的方法称为泛型方法,与方法一起声明的泛型类型称为类型参数。

泛型类型在返回类型前面声明

Java语言规范§8.4方法声明中记录了这一点,尤其是§8.4.4通用方法。

 类似资料:
  • 在下面的程序中,我将一个字符串值作为参数传递给方法print(string),该方法是静态的,返回string。虽然我没有得到错误,但我没有得到输出。

  • 问题内容: 我想做这样的事情: 不幸的是,列表追加未返回修改后的列表。 那么,我如何允许返回新列表? 问题答案: 不要使用追加而是串联: 这将返回一个 新 列表。不会受到影响。如果你需要有受影响的 还有 既可以使用,无论如何,然后分配分开(复印件)。

  • 问题内容: 我想模拟下一行: 这里的问题是newBigQueryClient方法返回的Bulder类是最终的。这意味着我既不能使用嘲讽也不可以使用powermockito来模拟它(它返回这样的异常:不能对最终类进行子类化),但是我需要返回适合于模拟它的构建方法的东西。有什么想法怎么做? 问题答案: 改善代码并使其更具可测试性的建议: 首先,您不会像您给我们的示例那样模拟 声明 。您可以模拟 对象

  • 问题内容: 这是无效的代码: 这是一个愚蠢的示例,但是在静态类构造函数中,我们不能这样做。为什么?是否有充分的理由呢?有人对此有更多了解吗? 因此,我应该这样做的原因是在那里结束构建。 谢谢 问题答案: 我认为原因是初始化程序与字段初始化(以及实例初始化程序的构造函数)一起携带。换句话说,JVM仅识别一个位置来初始化静态字段,因此所有的初始化(无论是否以块为单位)都必须在此完成。 因此,例如,当您

  • 我想创建一个静态方法Static String displayArray(int[]数组),它以整数数组为参数,使用循环创建并返回一个新的String,该String表示用大括号包围并用逗号分隔的数组的内容。例如, 我的解决方案: 但其输出如下: