if(i!=j && strings[i]==strings[j]) второе условие почему то игнорируется компилятаром
package com.javarush.task.pro.task05.task0508;
import java.util.Scanner;
/*
Удаляем одинаковые строки
*/
public class Solution {
public static String[] strings;
public static void main(String[] args) {
Scanner words = new Scanner(System.in);
strings = new String [6];
for (int i = 0; i < 6; i++) {
String word = words.nextLine();
strings[i]=word;
}
for (int i = 0; i < 6 ; i++) {
for (int j = 0; j < 6; j++) {
if(i!=j && strings[i]==strings[j]){
strings [i] = null;
strings [j] = strings[i];
}
}
}
//напишите тут ваш код
for (int i = 0; i < strings.length; i++) {
System.out.print(strings[i] + ", ");
}
}
}
В случае с данным массивом действительно будет работать ==, так как оба значения будут в стринг пуле.
Ну строго говоря в том примере с массивом ссылки равны, потому что это одна и та же ссылка. array[2] явно присваивается ссылка array[1].