Java9CollectionFactoryInspection: do not check whether copied collection types agree

Fixes IDEA-195560 'List.copyOf' not suggested when Set passed to 'new ArrayList<>()'
This commit is contained in:
Tagir Valeev
2018-07-27 00:40:31 +07:00
parent 5507b49051
commit f1de3f00bb
3 changed files with 11 additions and 6 deletions
@@ -3,13 +3,17 @@ import java.util.*;
class Main {
private final List<String> myList;
private final List<String> myList3;
private final Map<String, String> myMap;
private final Set<String> mySet;
private final Set<String> mySet2;
Main(Collection<String> list, Map<? extends String, ? extends String> map,
Set<String> set) {
myList = List.<String>copyOf(list);
myList2 = List.<String>copyOf(set);
myMap = Map.<String, String>copyOf(map);
mySet = Set.<String>copyOf(set);
mySet2 = Set.<String>copyOf(list);
}
}
@@ -3,13 +3,17 @@ import java.util.*;
class Main {
private final List<String> myList;
private final List<String> myList3;
private final Map<String, String> myMap;
private final Set<String> mySet;
private final Set<String> mySet2;
Main(Collection<String> list, Map<? extends String, ? extends String> map,
Set<String> set) {
myList = Collections.un<caret>modifiableList(new ArrayList<>(list));
myList2 = Collections.unmodifiableList(new ArrayList<>(set));
myMap = Collections.unmodifiableMap(new HashMap<>(map));
mySet = Collections.unmodifiableSet(new HashSet<>(set));
mySet2 = Collections.unmodifiableSet(new HashSet<>(list));
}
}