相关疑难解决方法(0)

"导入"后的"静态"修饰符是什么意思?

当像这样使用时:

import static com.showboy.Myclass;

public class Anotherclass{}
Run Code Online (Sandbox Code Playgroud)

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

java modifier static-import

427
推荐指数
6
解决办法
14万
查看次数

为什么使用带有Java import语句的通配符不好?

使用单个语句更方便,更清晰

import java.awt.*;
Run Code Online (Sandbox Code Playgroud)

而不是导入一堆个别类

import java.awt.Panel;
import java.awt.Graphics;
import java.awt.Canvas;
...
Run Code Online (Sandbox Code Playgroud)

import声明中使用通配符有什么问题?

java import wildcard

384
推荐指数
12
解决办法
13万
查看次数

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

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

import static some.package.DA.*;
class BusinessObject {
  void someMethod() {
    ....
    save(this);
  }
} 
Run Code Online (Sandbox Code Playgroud)

审稿人并不热衷于我改变代码而我没有,但我确实同意他.给出非静态导入的一个原因是,在定义方法的地方很混乱,它不在当前类中而不在任何超类中,所以它也有一段时间来识别它的定义(基于Web的审查系统没有可点击的IDE之类的链接:-)我真的不认为这很重要,静态导入仍然很新,我们很快就会习惯定位它们.

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

所以,当是有意义的静态导入的方法呢?你什么时候做的?您是否喜欢不合格电话的样子?

编辑:流行的观点似乎是静态导入方法,如果没有人会把它们混淆为当前类的方法.例如,java.lang.Math和java.awt.Color中的方法.但是如果abs和getAlpha不模糊,我不明白为什么readEmployee是.在许多编程选择中,我认为这也是个人偏好的事情.

感谢您的回复,我正在结束这个问题.

java static-import

127
推荐指数
7
解决办法
8万
查看次数

有什么理由清除Java中未使用的导入,除了减少混乱?

是否有任何充分的理由避免Java中未使用的import语句?据我所知,它们适用于编译器,因此许多未使用的导入不会对编译的代码产生任何影响.它只是为了减少混乱并避免命名冲突吗?

(我问,因为Eclipse给出了一个关于未使用的导入的警告,这在我开发代码时有点烦人,因为我不想删除导入,直到我很确定我已经完成了设计类的操作.)

java eclipse import coding-style

98
推荐指数
3
解决办法
3万
查看次数

导入包.*vs import package.SpecificType

是否会在编写导入时将开销加载到一个包中的所有类型(import java.*); 而不只是一个特定的类型(即import java.lang.ClassLoader)?第二个是比另一个更合适的使用方式吗?

java import overhead

93
推荐指数
8
解决办法
6万
查看次数

我应该使用静态导入吗?

将我的所有导入转换为有多重要static import?为什么人们仍然不愿意使用static import

java import

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

程序中的多个import语句会影响性能吗?

我听说在程序中使用多个import语句会影响其运行时性能.这是真的?如果是这样,为什么?

java

10
推荐指数
1
解决办法
1310
查看次数

import java.util.*之间有什么区别?并导入java.util.Date; ?

我只想输出电流而且我写了

import java.util.*;
Run Code Online (Sandbox Code Playgroud)

在开始时,和

System.out.println(new Date());
Run Code Online (Sandbox Code Playgroud)

在主要部分.

但我得到的是这样的:

Date@124bbbf
Run Code Online (Sandbox Code Playgroud)

当我将导入更改为import java.util.Date;代码完美时,为什么?

====================================

问题是,好吧,我的源文件是"Date.java",这就是原因.

嗯,这完全是我的错,我让所有人感到困惑; P

谢谢以下所有人.这真的很好你;)

java import

8
推荐指数
2
解决办法
11万
查看次数

什么是"进口"?

它不是陈述也不是表达.

那叫什么呢?指令?

java import terminology

8
推荐指数
2
解决办法
1194
查看次数

Java 8:实现Comparable

我喜欢新的静态工厂方法Comparator,因为它们允许以非常简洁且不易出错的方式实现比较器.

但推荐的实施方式是Comparable什么?我们应该在Comparable实现中使用Comparators吗?

public MyClass implements Comparable<MyClass>{
...
    public int compareTo(MyClass other){
        Comparator<MyClass> naturalOrderComparator = 
            Comparator.comparing(MyClass::getFoo)
                      .thenComparing(MyClass::getBar);
        return naturalOrderComparator.compare(this, other);
    } 
}
Run Code Online (Sandbox Code Playgroud)

甚至在对大型集合进行排序时使用静态比较器来减少大量对象的创建:

public MyClass implements Comparable<MyClass>{
    private static final Comparator<MyClass> NATURAL_ORDER_COMPARATOR =     
        Comparator.comparing(MyClass::getFoo)
                  .thenComparing(MyClass::getBar);

    ...

    public int compareTo(MyClass other){
        return NATURAL_ORDER_COMPARATOR.compare(this, other);
    } 
}
Run Code Online (Sandbox Code Playgroud)

或者是否有另一种推荐的方法来实现Comparable与Java SE 8?

java comparable comparator java-8

8
推荐指数
1
解决办法
4200
查看次数