相关疑难解决方法(0)

从数组创建ArrayList

我有一个初始化的数组,如:

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)

java arrays arraylist type-conversion

3441
推荐指数
31
解决办法
144万
查看次数

我可以将数组作为参数传递给Java中带有变量参数的方法吗?

我希望能够创建一个像这样的函数:

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)?在这种情况下,我可以在前面加上extraVarargs使用新的数组,并把它传递给该方法.

java arrays backwards-compatibility variadic-functions

256
推荐指数
5
解决办法
20万
查看次数

Java中的不可变数组

Java中的原始数组是否有一个不可变的替代方法?制作一个原始数组final实际上并不能阻止人们做类似的事情

final int[] array = new int[] {0, 1, 2, 3};
array[0] = 42;
Run Code Online (Sandbox Code Playgroud)

我希望数组的元素不可更改.

java arrays immutability

150
推荐指数
7
解决办法
9万
查看次数

不兼容的类型:推理变量T具有不兼容的边界

我有以下代码

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功能,但我不知道如何解决该错误

java java-8

22
推荐指数
2
解决办法
5万
查看次数