mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 15:27:45 +07:00
good code is red: wildcard should check the bound if any in order to prove difference (IDEA-63291)
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
import java.util.Comparator;
|
||||
import java.util.Set;
|
||||
|
||||
public class CastError {
|
||||
public void foo(Comparator<? super byte[]> comparator) throws Exception {
|
||||
MyComparator comparator1 = (MyComparator) comparator;
|
||||
}
|
||||
|
||||
public void foo1(Comparator<byte[]> comparator) throws Exception {
|
||||
MyComparator comparator1 = (MyComparator) comparator;
|
||||
}
|
||||
|
||||
public void foo2(Comparator<? extends byte[]> comparator) throws Exception {
|
||||
MyComparator comparator1 = (MyComparator) comparator;
|
||||
}
|
||||
|
||||
public void foo3(Comparator<? super String[]> comparator) throws Exception {
|
||||
MyComparator comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Comparator<capture<? super java.lang.String[]>>' to 'MyComparator'">(MyComparator) comparator</error>;
|
||||
}
|
||||
|
||||
public void foo4(Comparator<? extends String[]> comparator) throws Exception {
|
||||
MyComparator comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Comparator<capture<? extends java.lang.String[]>>' to 'MyComparator'">(MyComparator) comparator</error>;
|
||||
}
|
||||
|
||||
public void foo5(Comparator<?> comparator) throws Exception {
|
||||
MyComparator comparator1 = (MyComparator) comparator;
|
||||
}
|
||||
|
||||
//--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--||--
|
||||
|
||||
public void sfoo(Set<Comparator<? super byte[]>> comparator) throws Exception {
|
||||
Set<MyComparator> comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Set<java.util.Comparator<? super byte[]>>' to 'java.util.Set<MyComparator>'">(Set<MyComparator>) comparator</error>;
|
||||
}
|
||||
|
||||
public void sfoo1(Set<Comparator<byte[]>> comparator) throws Exception {
|
||||
Set<MyComparator> comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Set<java.util.Comparator<byte[]>>' to 'java.util.Set<MyComparator>'">(Set<MyComparator>) comparator</error>;
|
||||
}
|
||||
|
||||
public void sfoo2(Set<Comparator<? extends byte[]>> comparator) throws Exception {
|
||||
Set<MyComparator> comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Set<java.util.Comparator<? extends byte[]>>' to 'java.util.Set<MyComparator>'">(Set<MyComparator>) comparator</error>;
|
||||
}
|
||||
|
||||
public void sfoo3(Set<Comparator<? super String[]>> comparator) throws Exception {
|
||||
Set<MyComparator> comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Set<java.util.Comparator<? super java.lang.String[]>>' to 'java.util.Set<MyComparator>'">(Set<MyComparator>) comparator</error>;
|
||||
}
|
||||
|
||||
public void sfoo4(Set<Comparator<? extends String[]>> comparator) throws Exception {
|
||||
Set<MyComparator> comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Set<java.util.Comparator<? extends java.lang.String[]>>' to 'java.util.Set<MyComparator>'">(Set<MyComparator>) comparator</error>;
|
||||
}
|
||||
|
||||
public void sfoo5(Set<Comparator<?>> comparator) throws Exception {
|
||||
Set<MyComparator> comparator1 = <error descr="Inconvertible types; cannot cast 'java.util.Set<java.util.Comparator<?>>' to 'java.util.Set<MyComparator>'">(Set<MyComparator>) comparator</error>;
|
||||
}
|
||||
}
|
||||
|
||||
abstract class MyComparator implements Comparator<byte[]> {
|
||||
}
|
||||
Reference in New Issue
Block a user