是什么目的
Objects.isNull(x)
Run Code Online (Sandbox Code Playgroud)
如果我们可以简单地写
x == null
Run Code Online (Sandbox Code Playgroud)
?
同样的
Objects.nonNull(...)
Run Code Online (Sandbox Code Playgroud)
和
x != null
Run Code Online (Sandbox Code Playgroud) 例如,我有两个域(app1.com,app2.com)和两个耳朵(app1.ear,app2.ear).每个EAR文件都包含ejb.jar和web.war.此外,每个WAR都有上下文根:/ app1或/ app2.
所以,如果我开始WildFly我会对运行两个应用程序本地主机:8080/APP1和本地主机:8080/APP 2.
如何将app1.com绑定到localhost:8080/app1和app2.com到localhost:8080/app2?
据我了解,我应该在standalone.xml中修改Undertow子系统配置.我试过了:
<server name="default-server">
<http-listener name="default" socket-binding="http"/>
<host name="app1.com" default-web-module="app1.ear/web.war"/>
<host name="app2.com" default-web-module="app2.ear/web.war"/>
</server>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
例如在Java中我可以写:
public abstract class Element<S extends Snapshot> { ... }
public abstract class Snapshot<E extends Element> { ... }
Run Code Online (Sandbox Code Playgroud)
然后,在某处,扩展这些类:
public class SnapshotImpl extends Snapshot<ElementImpl> { ... }
public class ElementImpl extends Element<SnapshotImpl> { ... }
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在Kotlin中实现相同的类层次结构时:
abstract class Element<S : Snapshot>
abstract class Snapshot<E : Element>
Run Code Online (Sandbox Code Playgroud)
我遇到了以下编译错误:
Error:(6, 28) Kotlin: One type argument expected for class Snapshot<E> defined in model
Error:(6, 25) Kotlin: One type argument expected for class Element<S> defined in model
有没有办法在Kotlin中重现相同类型的参数限制?
根据JVM规范:
JDK 1.0.2版中的Oracle Java虚拟机实现支持类文件格式版本45.0至45.3(含)。JDK发行了1.1。*支持的类文件格式版本,范围从45.0到45.65535(含)。叉子 ?2,JDK版本1.k支持类文件格式版本,范围为45.0到44 + k.0(含)。
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html
我想知道,为什么他们从45开始而不是从1或0开始版本?
我下载了一个hsqldb.jar并设置为项目buildpath,然后我编写了程序
Class.forName("org.hsqldb.jdbc.JDBCDriver");
Connection conn = DriverManager.getConnection(
"jdbc:hsqldb:mem:mydb", "SA", "");
String bookTableSQL = "create table MY_TABLE ("+
" TITLE varchar(256) not null primary key,"+
" AUTHOR varchar(256) not null"+
");";
Statement st = conn.createStatement();
st.execute(bookTableSQL);
System.out.println(st);
String sql = "INSERT INTO MY_TABLE " +
"VALUES ('Mahnaz', 'Fatma')";
st.executeUpdate(sql);
Run Code Online (Sandbox Code Playgroud)
数据库和表创建成功。在下一步中,我插入了一个示例数据并获得了正在显示的数据
String sqlsel = "SELECT TITLE,AUTHOR FROM MY_TABLE";
ResultSet rs = st.executeQuery(sqlsel);
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
String id = rs.getString("TITLE");
String age = rs.getString("AUTHOR");
//Display …Run Code Online (Sandbox Code Playgroud) 为什么编译器不会产生任何错误?在JLS中我可以读到这种情况吗?
class Main {
public static void main(String[] args) {
A a = new A();
List<Integer> list = a.getStrings();
}
static class A<X> {
public List<String> getStrings() {
return new ArrayList<String>();
}
}
}
Run Code Online (Sandbox Code Playgroud)