小编Nam*_*man的帖子

什么是 switch 表达式,它们与 switch 语句有什么不同?

作为 Java SE 12 的一部分,引入了switch表达式,并且从 Java SE 14 开始,它们已经标准化。它们与switch陈述有何不同?

java switch-statement switch-expression java-14

19
推荐指数
3
解决办法
1178
查看次数

Java 8消费者和副作用

我是Java 8的新手,我遇到了Consumer java doc,它说:"预计消费者将通过副作用进行操作." 有人可以解释为什么这么说?

java consumer java-8

18
推荐指数
3
解决办法
1345
查看次数

Eclipse Oxygen生成toString生成不起作用

在我配置Eclipse Oxygen以使用Java 9之后,当我转到Source => Generate时,toString()我收到以下错误消息:

无法创建方法实现.
原因:模块:java.base不在其项目的构建路径上

生成constructor,getter和setter,hashcode()并且equals()工作正常,只有toString()不起作用.

如果我toString()手动输入方法,它可以正常工作.此外,如果我使用JRE 8创建项目,生成toString()工作正常.任何想法如何解决它?

java eclipse tostring java-9 eclipse-oxygen

18
推荐指数
1
解决办法
7446
查看次数

需求和模块声明中需要静态之间的区别是什么

需求需要模块声明中的静态模块语句有什么区别?

例如:

module bar {
    requires java.compiler;
    requires static java.base;
}
Run Code Online (Sandbox Code Playgroud)

java java-9 java-module module-info

18
推荐指数
2
解决办法
1931
查看次数

"var"和原始类型如何结合在一起?

我发现了一个建议使用的答案

var list = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

我很惊讶在这里找到一个原始类型,我只是想知道:确实var使用<>"自动?

(与此同时,答案改为使用<String>,但我仍然对这里的"原则"感到好奇)

我看到其他的问题,比如这个,但它们都使用了钻石操作:

var list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

现在我只想知道:是否会var改变我们应该(不)使用原始类型的方式?或者这个建议<>只是遗漏了不好的做法?

java generics var local-variables java-10

18
推荐指数
2
解决办法
2162
查看次数

如何使用IDE在Storm生产集群中提交拓扑

我在Must submit topologies using the 'storm' client script so that StormSubmitter knows which jar to upload使用IDE向生产集群提交拓扑时遇到了问题,而如果我使用storm jar命令在命令行中执行,它就像天堂一样运行.我从githublink看过相同的例子.

对于提交拓扑,我使用这些行

conf.put(Config.NIMBUS_HOST, NIMBUS_NODE);
conf.put(Config.NIMBUS_THRIFT_PORT,6627);
conf.put(Config.STORM_ZOOKEEPER_PORT,2181);
conf.put(Config.STORM_ZOOKEEPER_SERVERS,ZOOKEEPER_ID);
conf.setNumWorkers(20);
conf.setMaxSpoutPending(5000);
StormSubmitter submitter = new StormSubmitter();
submitter.submitTopology("test", conf, builder.createTopology());
Run Code Online (Sandbox Code Playgroud)

如果这是正确的运行方法,请建议我?

java apache-storm

17
推荐指数
2
解决办法
1万
查看次数

Java 9中是否可以使用循环模块依赖?

在Java 9中,是否允许使用循环模块?如果不是,原因是什么?

module com.foo.bar {
    requires com.foo.baz;
    exports com.foo.bar.fizz;
}

module com.foo.baz {
    requires com.foo.bar;
    exports com.foo.baz.buzz;
}
Run Code Online (Sandbox Code Playgroud)

java java-platform-module-system java-9 java-module module-info

17
推荐指数
1
解决办法
1025
查看次数

如何替换Java 9中的endorsed目录?

在Java 8和之前的版本中,存在使用支持目录(java.endorsed.dirs)的机制,该目录是覆盖JDK内部实现的库的集合.

如何在Java-9中解决这个问题?在那里被删除的背书去了吗?

java endorsed java-9

17
推荐指数
1
解决办法
1万
查看次数

使用Gradle构建Kotlin + Java 9项目

我对Gradle(和Java 9,说实话)相当新,我正在尝试使用Gradle构建一个简单的库项目,它是Java 9和Kotlin的混合体.更详细的说,Java中有一个接口,Kotlin中有一个实现; 我会在Kotlin做一切,但modules-info.java无论如何都是java,所以我决定这样做.

我正在构建IntelliJ Idea,外部定义了1.2.0 kotlin插件和gradle 4.3.1.

文件系统架构是:

+ src
  + main
    + java
      + some.package
        - Roundabout.java [an interface]
      - module-info.java
    + kotlin
      + some.package.impl
        - RoundaboutImpl.kt [implementing the interface]
Run Code Online (Sandbox Code Playgroud)

module-info.java 是:

module some.package {
  requires kotlin.stdlib;
  exports some.package;
}
Run Code Online (Sandbox Code Playgroud)

build.gradle是:

buildscript {
    ext.kotlin_version = '1.2.0'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

group 'some.package'
version '1.0-PRE_ALPHA'

apply plugin: 'java-library'
apply plugin: 'kotlin'

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

sourceCompatibility = …
Run Code Online (Sandbox Code Playgroud)

java gradle kotlin java-9

17
推荐指数
1
解决办法
5044
查看次数

java 10 compilaton Null Pointer Exception

我最近安装了jdk10.我正在做正常的代码,但它无法正常工作.

我在这里做错了吗?请参阅代码和异常堆栈跟踪.据我所知,这种行为应该没有理由.

import com.bean.College;

public class Student {

    interface Club {
        <T> T get(College<T> key);
    }

    private Club club;

    Student() {
        Object obj = club.get(new College<>() {});
    }
}
Run Code Online (Sandbox Code Playgroud)

导入的College类是:

public class College<T> {
    int id;
    protected College() {
    }

    College(int id){
        this.id=id;
    }
} 
Run Code Online (Sandbox Code Playgroud)

在编译时,javac编译器与以下堆栈跟踪崩溃:

java.lang.NullPointerException
        at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply(Flow.java:1233)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1634)
        at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
        at jdk.compiler/com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:396)
        at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitVarDef(Flow.java:987)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:956)
        at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
        at jdk.compiler/com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:396)
        at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
        at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitBlock(Flow.java:995)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1020)
        at jdk.compiler/com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
        at jdk.compiler/com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(Flow.java:396)
        at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitMethodDef(Flow.java:962)
        at …
Run Code Online (Sandbox Code Playgroud)

java compiler-errors javac java-9 java-10

17
推荐指数
1
解决办法
987
查看次数