我有一个初始化的数组,如:
Element[] array = {new Element(1), new Element(2), new Element(3)};
Run Code Online (Sandbox Code Playgroud)
我想将此数组转换为ArrayList类的对象.
ArrayList<Element> arraylist = ???;
Run Code Online (Sandbox Code Playgroud) 我希望能够创建一个像这样的函数:
class A {
private String extraVar;
public String myFormat(String format, Object ... args){
return String.format(format, extraVar, args);
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是在方法中args处理,因此是单个参数,而我希望每个in 都作为新参数传递.既然也是一个带有变量参数的方法,这应该是可能的.Object[]myFormatString.formatObjectargsString.format
如果这是不可能的,有没有像这样的方法String.format(String format, Object[] args)?在这种情况下,我可以在前面加上extraVar到args使用新的数组,并把它传递给该方法.
Java中的原始数组是否有一个不可变的替代方法?制作一个原始数组final实际上并不能阻止人们做类似的事情
final int[] array = new int[] {0, 1, 2, 3};
array[0] = 42;
Run Code Online (Sandbox Code Playgroud)
我希望数组的元素不可更改.
我有以下代码
public int solution(int X, int[] A) {
List<Integer> list = Arrays.asList(A);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它抛出了以下编译错误
Solution.java:11:错误:不兼容的类型:推理变量T具有不兼容的边界List list = Arrays.asList(A); ^等式约束:整数下限:int []其中T是一个类型变量:T扩展方法asList(T ...)中声明的Object
我假设这是一个Java 8功能,但我不知道如何解决该错误