problemas con Date()

ANyTO
13 de Mayo del 2005
Hola a todos
tengo un problema al querer recojer la fecha del dia y introducirla en una base de datos.
al compilar me da el sigiente error

Test.java:23: reference to Date is ambiguous, both class java.util.Date in java.util and class java.sql.Date in java.sql match
Date fecha = new Date();

si quito el import java.util^*
Test.java:23: cannot resolve symbol
symbol : constructor Date ()
location: class java.sql.Date
Date fecha = new Date();

si quito el import java.sql.*;

el error esta en las sentencias SQL.

un saludo y gracias.



Pedro
13 de Mayo del 2005
Si utilzas tanto la clase java.util.Date y java.sql.Date, pues usalas con el nombre completo:
java.util.Date date = new java.util.Date();
y si no, pon los imports exactos:
import java.util.Map;
import java.util.Map;
//.. etc
import java.sql.Connection;
import java.sql.Statement;
//.... etc

y no:

import java.util.*;
import java.sql.*;


ANyTO
13 de Mayo del 2005
esto funciona
gracias.

rolextreme
13 de Mayo del 2005
mas que una solucion a tu problema te recomiendo que uses la clase GregorianCalendar, Date esta deprecado y no podria salir en la proxima version de java.

Atentamente

rolextreme

azuluaga
13 de Mayo del 2005
java.util.Date tiene constructor sin parámetro, por eso
java.util.Date fecha = new java.util.Date();
te funciona, pero java.sql.Date no tiene este constructor, por lo que debes pasar los milisegundos com parámetro, así:
java.sql.Date fecha = new java.sql.Date(18888888); //o algo similar.

Mas información en http://www.geocities.com/javacolombia en los artículos sobre fechas.

Saludos.

Paneb
13 de Mayo del 2005
Otra forma de resolver el problema es hacer lo siguiente:
import java.sql.*;
import java.util.*;
import java.util.Date;

De esta forma en caso de colisión java averigua si has importado el paquete de forma individual y soluciona así la colisión de clases.