以下课程:
public class StaticMethodsDemo {
public static class A {
public static A make() { return new A(); };
}
public static class B extends A {
public static B make() { return new B(); };
}
public static class BPrime<T> extends A {
public static <T> BPrime<T> make() { return new BPrime<T>(); };
}
public static void main(String[] args) {
B.make();
// compiles under Sun JDK 1.6.0_20 but fails under Oracle JDK 1.7.0_01. Why?
BPrime.<Object>make();
}
}
Run Code Online (Sandbox Code Playgroud)
在Sun JDK …
我们正试图想出一些接近简单直接模型的东西,用于在WebLogic中定位JMS资源(我知道这很有可能).队列和主题可以轻松而直观地映射到WebLogic服务器上运行的JMS服务器,但外部服务器及其中的资源似乎更棘手.
在WLS 10.0和10.3中,首先,外部服务器不是在JMS服务器旁边定义,而是作为JMS模块的成员定义.其次,默认情况下,它们定位到它们所定义的JMS模块的目标,即WLS集群或WLS服务器,而不是通过子部署针对JMS服务器的"非外部"资源.
但是,通过高级定位,还可以在JMS服务器上定位外部服务器.这导致模型相对于外来/"非外来"JMS资源更加对称.
高级定位http://dexter.xebialabs.com/Media/foreign_server_advanced_targeting.png
所以,问题是:
提前致谢!
安德鲁菲利普斯
以下代码
class GenericCompilationFailureDemo {
List<? extends GenericCompilationFailureDemo> newList() {
return new ArrayList<GenericCompilationFailureDemo>();
};
void useList() {
List<GenericCompilationFailureDemo> list =
(List<GenericCompilationFailureDemo>) newList();
}
List<? extends Set<GenericCompilationFailureDemo>> newListOfSpecificSets() {
return new ArrayList<Set<GenericCompilationFailureDemo>>();
};
void useListOfSpecificSets() {
List<Set<GenericCompilationFailureDemo>> listOfSpecificSets =
(List<Set<GenericCompilationFailureDemo>>) newListOfSpecificSets();
}
List<? extends Set<? extends GenericCompilationFailureDemo>> newListOfSets() {
return new ArrayList<Set<? extends GenericCompilationFailureDemo>>();
};
void useListOfSet() {
List<Set<? extends GenericCompilationFailureDemo>> listOfSets =
(List<Set<? extends GenericCompilationFailureDemo>>) newListOfSets();
}
}
Run Code Online (Sandbox Code Playgroud)
在Sun JDK 1.6.0_20下编译(在Windows Vista上为64位,但我认为没有任何区别)但在Oracle JDK 1.7.0_01(同一平台)下导致以下编译失败:
[ERROR] src\main\java\GenericCompilationFailureDemo.java:[56,78] error: inconvertible types
Run Code Online (Sandbox Code Playgroud)
请注意,前两个 …