---
title: "Söka genom ett objekt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/102742-söka-genom-ett-objekt"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "tosses"
published: "2004-05-01T19:30:36.000Z"
updated: "2004-05-01T21:22:10.000Z"
replies: 4
views: 217
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/102742-söka-genom-ett-objekt"
---

# Söka genom ett objekt

## #1 — tosses, 2004-05-01T19:30Z

Hej!

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

eller snarare

for(int i=0;i\<index;i++)
{
       if(arr*.getNamn().equals("namnetTomas"))
        {
             sats.......
        }
}

Hjälp!

Hoppas någon förstår! Fråga gärna!*

Permalänk: https://www.webforum.nu/p/102742

## #2 — Viktor, 2004-05-01T20:38Z

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 :)

/Viktor

Permalänk: https://www.webforum.nu/p/1336493

## #3 — tosses, 2004-05-01T20:57Z

Hmm jag kanske skulle säga att object1 och object2 extends superobject

Nu fungerar det! Jag hade inte public String getName utan 
public void getName()
{
System.out.println(name);
}

Och då kunde jag inte if(arr\[0\].getName.equals("hh"))

finns det någor sätt att använda .equals om jag hade gjort en void??

Permalänk: https://www.webforum.nu/p/1336503

## #4 — Viktor, 2004-05-01T21:07Z

Eftersom du kör en equals på det som retuneras så måste du ratunera en string för att du ska kunna köra en equals :)

När du skriver

```
getName().equals("Kalle");
```

skriver du igentligen (ok, inte riktigt, men för att ilustrera problemet :))

```
String str=getName();
str.equals("Kalle")
```

Hoppas det hjälper lite...

/Viktor

Permalänk: https://www.webforum.nu/p/1336507

## #5 — tosses, 2004-05-01T21:22Z

Ok tack så mycket!!!!!!!!!!!!!!!!!!!!!!!!!!! :)

Permalänk: https://www.webforum.nu/p/1336515

---

Tråden på webben: https://www.webforum.nu/amne/java/102742-söka-genom-ett-objekt
