I have created a servlet which enters html form input into a db2 database, and it is all working nicely with integer values. However, I want to perform some date and time calculations calculations on the form input, for which I need the Date class. To perform the sql needed for the database entry, I "import java.sql.*;". In order to perform the date calculations, I "import java.util.*;". The date calulations work fine in a servlet which does not have java.sql imported. However, when I try to put this calculation into the database entry servlet, I get "Ambiguous class: java.util.Date and java.sql.Date" removing "import.java.util.*;" means that it cannot compile the Date class (i.e. java.sql.Date does something else). How can I make it ignore java.sql.Date? Thanks, James [This message has been edited by James Hewitt (edited July 10, 2001).]
Yup, it's a nuisance. You're going to have to explicitly qualify all Date declarations and casts. There are, unfortunately, some critical differences in the two different Date classes, so the compiler has to know which one you're using at any given time. Among other things, the SQL date has no time component. Once you declare implicit class pedigrees using the import statement, Java has no prioritizing mechanism to prefer one implicit pedigree to another. It's just as well, since some extremely nasty bugs could creep in that way.
An IDE is no substitute for an Intelligent Developer.