问题标签 [static-import]

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 投票
9 回答
146378 浏览

java - “导入”之后的“静态”修饰符是什么意思?

像这样使用时:

import static com.showboy.Myclass和有什么区别import com.showboy.Myclass

0 投票
16 回答
100699 浏览

java - 静态导入方法的好用例是什么?

刚刚收到评论说我的方法的静态导入不是一个好主意。静态导入是来自 DA 类的方法,该类主要具有静态方法。因此,在业务逻辑的中间,我有一个显然似乎属于当前类的 da 活动:

审阅者并不热衷于我更改代码,我也没有,但我确实同意他的观点。没有静态导入的一个原因是它在定义方法的位置令人困惑,它不在当前类中,也不在任何超类中,因此识别它的定义需要一些时间(基于 Web 的评论系统没有可点击IDE 之类的链接 :-) 我真的不认为这很重要,静态导入仍然很新,很快我们都会习惯于定位它们。

但另一个我同意的原因是,不合格的方法调用似乎属于当前对象,不应该跳转上下文。但如果它真的属于,扩展那个超类是有意义的。

那么,什么时候静态导入方法才有意义呢?你什么时候做的?你/你喜欢不合格电话的样子吗?

编辑:流行的观点似乎是静态导入方法,如果没有人将它们混淆为当前类的方法。例如来自 java.lang.Math 和 java.awt.Color 的方法。但是如果 abs 和 getAlpha 不是模棱两可的,我不明白为什么 readEmployee 是。与许多编程选择一样,我认为这也是个人喜好。

0 投票
4 回答
1748 浏览

java - 重载静态导入

在测试类中,我想为自己的重载assertEquals提供一些不依赖于Object.equals. 不幸的是,这不起作用,因为一旦我assertEquals在本地声明我的方法,Java 就再也找不到静态导入org.junit.Assert.*了。

有没有解决的办法?即有没有办法为静态导入的方法提供额外的重载?(相当明显的解决方案是以不同的方式命名该方法,但该解决方案没有相同的美学吸引力。)

我的测试类文件如下所示:

Error *是“assertEquals(Bar, Bar)类型BarTest中的方法不适用于参数(int, int)。”</p>

0 投票
6 回答
2083 浏览

java - 我可以对私有子类进行静态导入吗?

我有一个私有的枚举,不能暴露在课堂之外。无论如何我可以进行该类型的静态导入,这样我就不必每次都输入枚举类型?或者有没有更好的方法来写这个?例子:

0 投票
5 回答
3094 浏览

java - 静态导入时,如何调用具有类型的通用方法?

我发现您可以调用具有特殊类型的泛型方法,例如:

假设我们有一个通用方法:

我们可以这样称呼它:

但是静态导入的时候怎么调用呢?例如:

这不起作用。

0 投票
2 回答
425 浏览

java - 在 Java 中,是否可以(静态)导入构造函数或局部变量?

或者这可以只为方法/字段/枚举常量完成吗?

0 投票
4 回答
3306 浏览

java - 当类具有与导入的方法同名的方法时,import static 不起作用

我有一个Junit4静态导入方法的测试用例org.junit.Assert.assertEquals

在这个类中,我创建了一个实用方法来断言一些不实现 equals 的复杂内部类(并且也很难实现它)。

我希望代码表现得好像我正在“重载”assertEquals我正在导入的方法,但看起来我的私有非静态方法正在隐藏静态导入的方法。我也尝试将我的方法变成publicand static(所有排列)但没有成功 - 我不得不重命名它。

它有这种行为的任何理由?我在文档中找不到对此行为的任何引用。

0 投票
5 回答
3783 浏览

java - 在java中正确使用静态导入

可能重复:
静态导入方法的好用例是什么?

我很少在 java 中看到这样的静态导入:

import static java.lang.Math.*;

然后您PI无需调用即可访问Math.PI

既然你不经常看到这个,这是否意味着这样做是一个糟糕的设计?

0 投票
7 回答
382 浏览

java - 用Java编写一个简单的用于调试的打印方法

在我重新发明轮子之前 - 我希望能够在我的代码中插入调试跟踪,例如,而不是在每个类中say("We are here.");定义。static void say()它需要做System.out.println(s),并且要全局打开或关闭(doSay(false)),我还希望它能够识别从中调用它的类(如此处所述)。例如:

MyClass:我们在这里。

Java 是否已经有了这样的工具?

0 投票
2 回答
138 浏览

java - 这个网格变量来自哪里?

我正在查看 DynamicReports 的ColumnGridReport 示例

我想使用经典的代码语法而不是示例中使用的 DSL,这意味着创建

和使用report.addColumn(...)等等,但我不知道如何为“columnGrid”部分做到这一点:

有一个变量grid......甚至在哪里初始化?

基本上我想做report.columnGrid(如何初始化内部部分)

如何将其转换为经典语法?