Jag håller på att göra en sökmetod i en class i java.
Classen skapar en array som innehåller referenser till objekt.
ex:
kontruktor för object1
public object1(int antal, String namn, String enamn, antal2)
{
osv.....
}
kontruktor för object2
public object2(int x, int y, String namn)
{
osv.....
}
arr[0] = new object1(12,"namnetTomas","ee",45);
arr[1] = new object1(24,"namnetKalle","u",67);
arr[3] = new object2(1,2,"namnetJonas");
osv....
nu behöver jag söka i arr[0-10] efter t.ex. ett namn i attributet namn.
object1 och object2 innehåller metoden getNamn();
Så om jag skriver arr[0].getNamn() så får jag namnetTomas.
men hur söker jag??
ex:
if(arr[0].getNamn().equals("namnetTomas"))
{
sats.......
}
hmmm funkar inte
Eftersom du har två olika klasser som du ska kolla i samma loop så är det bästa att du antingen kör med arv eller interface.
Här är ett interface exempel
public interface IName
{
public String getFName();
public String getLName();
}
public class Obj1 implements IName
{
private String fname=null;
private String lname=null;
public String getFName()
{
return(fname);
}
public String getLName()
{
return(lname);
}
public object1(int antal, String namn, String enamn, antal2)
{
fname=namn;
lname=enamn;
...
}
}
public class Obj2 implements IName
{
private String fname=null;
private String lname=null;
public String getFName()
{
return(fname);
}
public String getLName()
{
return(lname);
}
public obj2(int x, int y, String namn)
{
fname=name;
...
}
}
public class Test
{
public static void main(String argv[])
{
IName[] arr=new IName[10];
arr[0] = new Obj1(12,"namnetTomas","ee",45);
arr[1] = new Obj1(24,"namnetKalle","u",67);
arr[3] = new Obj2(1,2,"namnetJonas");
for(int i=0;i<10;i++)
{
if(arr[i].getFName().equals("namnetTomas"))
System.out.println("Found!");
}
}
}
Alla attribut som du ska kunna söka på och som finns i båda objekten ska också finnas med i ditt interface.
Sen kan man ju också säga att en Array kanske inte är den bästa samlingen men det är en annan fråga. Tror nog att det finns inbyggda sök funktioner i Collection framworket, kolla i APIn