P
Penta
Boardmaler
Hallo Leute,
ich habe mir eine eigene Klasse zum einlesen der Tastatur gebaut und habe dort nun follgendes Problem:
Wenn ich ein String einlese und diese mit einem initialisierten String vergleiche, der den gleichen Inhalt hat, gibt er mit ein false.
Ich liste hier mal die Codes auf:
Input:
Und hier mal meine Testing.java:
ich habe mir eine eigene Klasse zum einlesen der Tastatur gebaut und habe dort nun follgendes Problem:
Wenn ich ein String einlese und diese mit einem initialisierten String vergleiche, der den gleichen Inhalt hat, gibt er mit ein false.
Ich liste hier mal die Codes auf:
Input:
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Input {
public static String readString(){
String line = "";
String val = "";
try {
BufferedReader is = new BufferedReader(
new InputStreamReader(System.in));
line = is.readLine();
val = line.intern();
} catch (IOException e) {
System.err.println("Unexpected IO ERROR: " + e);
}
return val;
}
}
Code:
public class Testing {
public static void main(String[] args) {
String str1 = "test";
String str2 = Input.readString();
System.out.println("Step 0:");
String str3 = str2+"test2\n";
System.out.print(str3);
System.out.println("Step 1:");
if(str1 == str2){
System.out.println("gleich");
}else{
System.out.println("ungleich");
}
str2 = str2.replaceAll("\n", "");
System.out.println("Step 2:");
if(str1 == str2){
System.out.println("gleich");
}else{
System.out.println("ungleich");
}
}
}