小编Ace*_*oud的帖子

java中列表变量的好名称

以下是普遍使用的或标准的:

private List<String> names ;
Run Code Online (Sandbox Code Playgroud)

要么

private List<String> listOfNames ;
Run Code Online (Sandbox Code Playgroud)

要么

private List<String> namesList ;
Run Code Online (Sandbox Code Playgroud)

java naming-conventions

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

如何将整数添加到String ArrayList中?

List list = new ArrayList<String>() ;
list.add(1) ;
Integer hello = (Integer) list.get(0) ;
System.out.println(hello);
Run Code Online (Sandbox Code Playgroud)

上面的代码有一个类型为List的引用,引用了String类型的ArrayList实例.当执行该行时,是不是将1添加到ArrayList(String类型)?如果是,那么为什么允许这样做?list.add(1)

java arraylist

13
推荐指数
2
解决办法
430
查看次数

Java HashMap put()实现.为什么不先检查参考文献?

java.util.HashMap有一个put方法的实现,其中包含以下代码:

if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
    V oldValue = e.value;
    e.value = value;
    e.recordAccess(this);
    return oldValue;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,为什么不首先进行引用检查(因为具有相同引用的两个对象将具有相同的哈希和equals())?

即是这样的:

if ((k = e.key) == key) {
    V oldValue = e.value;
    e.value = value;
    e.recordAccess(this);
    return oldValue;
} else if ( compare hash and equals) {
    // do something again with the value
}
Run Code Online (Sandbox Code Playgroud)

这不会节省比较吗?

java standard-library

13
推荐指数
1
解决办法
342
查看次数

写一个优雅的点击处理程序

我们通常按以下方式在按钮上(在GWT或Swing或Android中)编写一个单击处理程序(方式1).

class A {

    public void myMethod() {

        int count = 0 ;

        Button myButton = new Button("x");
        myButton.addClickHandler(new ClickHandler() {
          public void onClick(ClickEvent event) {
              count = 1 ;
          }

        });

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我们也可以为click处理程序编写一个不同的类,并按照以下方式实现它(方式2):

class A implements ButtonClickInterface {

    int count ;
    public void myMethod() {

        count = 0 ;

        Button myButton = new Button("x");
        myButton.addClickHandler(new MyClickHander(this));

    }

    @Override
    public void buttonClicked() {
        count = 1 ;        
    }
}

interface ButtonClickInterface {
    public …
Run Code Online (Sandbox Code Playgroud)

java gwt android

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