Java: declaración de vectores

Cuando escribo mi declaración de declaración:

Vector<double> distance_vector = new Vector<double>();

Recibo el error (subrayado 'doble' en ambos casos):

Error de sintaxis en el token "doble", Dimensiones esperadas después de este token

¿Qué estoy haciendo mal aquí?

preguntado el 28 de julio de 12 a las 02:07

5 Respuestas

No puede usar primitivas como parámetros de tipo. O necesitas usar un Vector<Double> (o aun mejor, List<Double>) o utilice uno de los Trove colecciones si realmente necesita evitar el impacto en el rendimiento de boxing/unboxing.

contestado el 23 de mayo de 17 a las 11:05

El "golpe de rendimiento" es mucho menor de lo que piensas. Ciertamente no es suficiente para garantizar el uso de una biblioteca especial, menos que esté tratando de exprimir hasta la última gota de rendimiento de algún código. Incluso entonces, necesitaría ver puntos de referencia que demuestren que valió la pena. - bohemio

@Bohemian Estoy de acuerdo. Pero hay situaciones especiales en las que ese impacto en el rendimiento es lo suficientemente grande como para hacer que su programa se detenga, en cuyo caso es necesaria esa biblioteca especial. Y como el OP no mencionó su necesidad, lo agregué para completarlo. - Jeffrey

Los genéricos de Java solo pueden contener objetos, no primitivos

Oh, demasiado tarde; )

Respondido 28 Jul 12, 02:07

El mejor enfoque es usar Vector ya que esta clase envuelve un valor del tipo primitivo doble en un objeto que contiene un solo campo cuyo tipo es doble. Además, le permite convertir con tipo de cadena.

respondido 04 mar '20, 11:03

Deberías ir con:

double [n] vector;

Reemplace "n" por el número de posiciones que tendrá su vector. Puedes hacerlo más grande, si quieres y no me equivoco. Si desea que el tamaño de su vector no sea fijo, debe usar un Array o ArrayList en lugar de un vector.

respondido 19 mar '17, 09:03

Utilizar esta:

Vector < Double > distance_vector = new Vector < Double >();

Está funcionando.

respondido 18 nov., 21:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.