I have three classes one which is class User contains information about users name, last area code etc.... and it must implement Comparable but receiving generic parameters. Another one is a custom doubleLinkedList which basically has a link to the right and one to the left and contains a generic variable as the info, this is all it must have the method compareTo() cannot be in here since I need this class to be reusable such as instead of receiving User objects it can use receive other types of data such as Integers and Doubles etcc... The LinkedList has various methods one which is insert() which has to insert an object of any kind but in an ordered manned using compareTo() from the Java API but in this case I have to call the compareTo() method from the User class so that once it receives the two generic variables it compares the name and not the whole object. The thing is that this method is implemented in the User class. My problem is that when I send the generic variable with the method it doesn't recognize as it being a User object so I can't get the method getName() from that object to compare the two strings. Here's the code any help would be greatly appreciate, I changed some of the things to English so it's better understandable.
public class Usuario <T> implements Comparable <T>
{
private String nombre;
private String apellido;
private char tipo;
private short lada;
private int telefono;
public Usuario(String nom, String apel, char type, short area, int tel)
{
nombre = nom;
apellido = apel;
tipo = type;
lada = area;
telefono = tel;
}
public String getName()
{
return nombre;
}
public int compareTo(Usuario obj)
{
return nombre.compareTo(obj.getName());
}
}
d.
public class ListaDoble <T>
{
class Nodo
{
public T info;
public Nodo enlace;
public Nodo anterior;
Nodo(T m)
{
info = m;
enlace = null;
anterior = null;
}
}
Nodo start;
Nodo cola;
int tamanno;
public ListaDoble()
{
start = null;
cola = null;
tamanno = 0;
}
public void insert(T obj)
{
Nodo temp = start;
Nodo n = new Nodo(obj);
if(temp == null)
inicio = n;
//The problem is here I call the method compareTo() I need to call the method that will be stored in temp.info so that it can go to the method get the String and compare it to the other String
if(temp.info.compareTo(n.info) >= 0)
{
}
}
public Object search(Object)
}
public class methods
{
ListaDoble <Usuario> Nodos = new <Usuario> ListaDoble();
//The variables j, k, l, m, n have the adecuate variables as creating an object os type Usuario and I send the method to insert it
Usuario nuevo = new Usuario(j, k, l, m, n);
Nodos.insert(nuevo);
}