我想返回与我在items
中获得的参数具有相同对象的相同列表。如果我得到列表
这是一种方法,例如:
public static List example(List items) {
// Some work with items
return items;
}
这就是所谓的泛型方法,您使用名为T
的类型参数定义了一个方法,然后在返回类型和参数类型中使用它
public static <T> List<T> example(List<T> items) {
// Some work with items
return items;
}
例如你可以在这里读到
那么,为该方法提供一个泛型类型:
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表示用大括号包围并用逗号分隔的数组的内容。例如, 我的解决方案: 但其输出如下: