Datentypen Problem mit Contains bei String[]

  • Themenstarter Themenstarter rappel
  • Beginndatum Beginndatum
R

rappel

Gast
Java:
		// Index         0                1          2 
		String[] a = { "Asus",       "Elitegroup", "MSI" }; 
		String[] b = { "Elitegroup", "MSI",        "Shuttle" }; 
		// asList ist definiert über import static java.util.Arrays.*;
		// sublist Start ist inklusive, Ende ist exklusive
		//System.out.println( asList( a ).subList( 1, 3 ). 
		//                    equals( asList( b ).subList( 0, 2 ) ) );  // true
		System.out.println( asList( a ).subList(0, 3).
							contains( asList( b ).subList( 1, 2 ) ) );  //false???
							//contains ("MSI")); //true
		System.out.println( asList( b ).subList(1, 2) );
		System.out.println( asList( a ).subList(0, 3) );
Hallo zusammen,
habe ein kleines Problem mit der contains Funktion. Ich habe extra schon eine Kontrolle eingebaut um den Text explizit abzugleichen, das klappt auch. Wenn ich aber mit der Subliste vergleiche bekomme ich ein false???

Ich hoffe, der Code ist so gut kommentiert, das man mein Problem nachvollziehen kann......
Gruß
Noch Gast
 
was du prüfst ist momentan, ob die liste a, eine andere liste b enthält(hat sie ja nicht.deine liste sieht ja so aus:
List<String> ...(also enthält einfach nur strings) deine überprüfung würde evtl. gehen bei List<List<String>>)

du willst doch aber eher wissen, ob liste a, das element enthält.

also eher das:

Java:
System.out.println(asList(a).subList(0, 3).contains(asList(b).get(1)));
 
Java:
System.out.println(asList(a).subList(0, 3).contains(asList(b).get(1)));
==
System.out.println(asList(a).subList(0, 3).contains(b[1]));
😉
 
Ah ja, typischer Anfängerfehler... 🙂 (Auch, wenn es auf den ersten Blick eigentlich logisch aussah)

Vielen Dank für die Hilfe.
 
Java:
		// Index         0                1          2 
		String[] a = { "Asus",       "Elitegroup", "MSI" }; 
		String[] b = { "Elitegroup", "MSI",        "Shuttle" }; 
		// asList ist definiert über import static java.util.Arrays.*;
		// sublist Start ist inklusive, Ende ist exklusive
		//System.out.println( asList( a ).subList( 1, 3 ). 
		//                    equals( asList( b ).subList( 0, 2 ) ) );  // true
		int i;
		for (i = 0; i < 3; i++)
		System.out.println( asList( a ).subList(0, 3).
					contains( b[i] ) );  //findet für alle Teilstrings aus b, ob in a oder nicht
					//contains ("MSI")); //true
Habe verstanden und schön gemacht 🙂
 

Neue Themen


Zurück
Oben