如何使用`toArray()`将linkedlist转换为数组? [英] How to convert linkedlist to array using `toArray()`?
本文介绍了如何使用`toArray()`将linkedlist转换为数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不知道如何将双打链表转换为数组。请帮我找到错误。
I do not know how to convert a linked list of doubles to array. Please help me find the error.
import java.util.*;
public class StackCalculator {
private LinkedList<Double> values;
double value1 , value2 ;
public StackCalculator()
{
values = new LinkedList<Double>();
}
void push(double x)
{
values.addFirst(x);
}
double pop()
{
return values.removeFirst();
}
double add()
{
value1=pop();
value2=pop();
return (value1 + value2);
}
double mult()
{
value1=pop();
value2=pop();
return (value1 * value2);
}
double[] v = new double[10];
double[] getValues()
{
return values.toArray(v);
}
}
推荐答案
列表#toArray()
列表< Double>
返回 Double [ ]
。 Double []
与 double []
不同。由于数组是对象而不是基元,因此 autoboxing 规则不适用,也不适用于此处。
The List#toArray()
of a List<Double>
returns Double[]
. The Double[]
isn't the same as double[]
. As arrays are objects, not primitives, the autoboxing rules doesn't and can't apply here.
使用 Double []
代替:
Double[] array = list.toArray(new Double[list.size()]);
...或创建 double []
你自己用换
循环:
...or create double[]
yourself using a simple for
loop:
double[] array = new double[list.size()];
for (int i = 0; i < list.size(); i++) {
array[i] = list.get(i); // Watch out for NullPointerExceptions!
}
这篇关于如何使用`toArray()`将linkedlist转换为数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文