问题标签 [diamond-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1324 浏览

java - java - 如何在java中使菱形运算符类型参数动态化?

我有以下界面

以下是我用来获取拆分器实现的工厂方法实现。

工厂方法实现

以下是我在客户端的调用,编译良好

我想避免客户端代码与实现的紧密耦合。有没有办法避免硬编码类型参数,即避免Splitter<Company, Department>在被调用方使用公司和部门()并使用一些变量?有没有办法从一些外部属性文件中加载它们?

仅供参考:我不确定它在 Java 中的可行性?

0 投票
1 回答
278 浏览

perl - 如何使 perl 对无效或不存在的文件抛出错误?

在不存在的文件上使用带有 -p 或 -n 标志或菱形运算符的 perl 不会因错误而退出:

当给定错误文件时,如何强制 perl 抛出错误,而不仅仅是警告?

0 投票
1 回答
19504 浏览

java - 为什么显式类型参数应该用菱形代替?

我正在使用 Android Studio,我写了这个:

我有这个消息:

显式类型参数 Button 应替换为 <>

我很好奇,为什么用钻石代替更好?

编辑:
我完全不同意重复!我之前看过那个答案,它将显式参数与没有参数进行比较,而我将显式参数与隐式参数进行比较!

0 投票
1 回答
967 浏览

bash - 无法将 perl 脚本的输出重定向到文件

尽管这个问题听起来很愚蠢,但我还是坚持了下来。所描述的问题发生在Ubuntu 14.04和上CentOS 6.3

我正在使用netbps答案中发布的 perl 脚本(作者RedGrittyBrick):https ://superuser.com/questions/356907/how-to-get-real-time-network-statistics-in-linux-with-kb- mb-bytes-format-and-for

上面的脚本基本上采用了 tcpdump 的输出(这里我们不需要知道它的细节的命令)并以不同的格式表示它。请注意,脚本在流模式下执行此操作(即,输出是即时生成的)。

因此,我的命令如下所示:

tcpdump -i eth0 -l -e -n "src portrange 22-233333 or dst portrange 22-23333" 2>&1 | ./netbps.prl

在 shell/console 上产生的输出如下所示:

我正在尝试将此输出捕获到文件中,但是我无法这样做。我尝试了以下方法:

  1. 重定向到文件:

tcpdump -i eth0 -l -e -n "src portrange 22-233333 or dst portrange 22-23333" 2>&1 | ./netbps.prl > out.out 2>&1

这将创建一个空out.out文件。外壳/控制台上没有输出。

  1. 管道和 grep:

tcpdump -i eth0 -l -e -n "src portrange 22-233333 or dst portrange 22-23333" 2>&1 | ./netbps.prl 2>&1 | grep "Bps"

外壳/控制台上没有输出。

我对 perl 了解不多,但这在我看来像是一个缓冲问题——虽然不确定?任何帮助将不胜感激。

0 投票
3 回答
116 浏览

java - 主要因素,金刚石支架的替代品

我正在尝试编写一个打印所有素因子的程序,并从用户输入中指定数字的最小素因子。(例如,如果给出 12,则质因数是 2、2 和 3。)我进行了一些搜索,但所有能记住所有质因数的程序的结果似乎都使用 <>。由于某种原因,这无法识别。我想知道是否有其他方法可以解决这个问题?

编辑:我已经成功打印了最低因子,但在打印所有素因子时仍然遇到问题。编辑代码:

0 投票
1 回答
2025 浏览

java - Eclipse上的Gradle,无法识别钻石操作员?

我有一个要迁移到 Gradle 的代码,当我在 Eclipse 上运行它时(没有 Gradle 它运行良好),但是当我使用 Eclipse 插件或尝试通过命令行运行它时,我遇到了菱形运算符的问题。

例如,对于这个类:

}

我得到一个非法的类型错误开始:

我知道从 JDK7 开始就可以使用菱形运算符对泛型进行类型推断,所以我很困惑为什么会出现这个错误。你能帮我修一下吗?

提前致谢

0 投票
2 回答
857 浏览

java - 方法参数中的 Java Diamond 运算符不验证从调用方法作为参数接收的集合中对象的类型

场景:类中的一个方法需要addList一个对象。方法发送一个包含多种类型对象的参数,而不仅仅是.ListInteger
mainArrayListInteger

结果:方法调用addList成功,也可以检索存储在 中的对象ArrayList并打印它们。

问题:我们不应该期望在运行时在被调用的方法中接收到列表时,它的内容将被验证并导致一些异常吗?

但是,在addList方法中,如果我试图在 中插入一个非Integer对象ArrayList,它只会在编译时失败。

这是否得出结论钻石运算符约束仅在将对象插入集合中时?

请注意,泛型擦除是不同的问题,不提供此问题的答案。

0 投票
0 回答
1336 浏览

java - Diamond + rawtype 不能在 Eclipse 上编译

以下代码无法在 Eclipse Neon 4.6.0 上编译:

从命令行调用 javac (1.8) 时,完全相同的代码编译得很好。它也适用于旧版本的 Eclipse(Mars 2)。这里有什么问题?

0 投票
1 回答
1137 浏览

java - 错误:(67, 51) java: diamond 运算符在 -source 1.6 中不受支持(使用 -source 7 或更高版本来启用 diamond 运算符)

我想使用这个库,我克隆了它并将其导入 IntelliJ IDEA 14.0.3,JDK 1.8.0_77,但是当我想运行 main 方法时,我得到了这个错误:

这里发生了什么?我该如何解决?

0 投票
1 回答
1397 浏览

java - 关于我的代码的类型错误的非法开始

当我创建负载时,我的程序给出了以下错误;

这是代码;