小编use*_*379的帖子

Java TreeSet:remove和contains()不起作用

我已经向TreeSet添加了一些简单的对象,但是当我调用TreeSet的remove()和contains()方法时,它们不起作用.但是,当我遍历集合时,对象被打印出来.当对象唯一性基于对象名称属性时,应将Employee对象添加到集合中.Id属性是应该排序的值,但不是唯一的.

public class Employee {
    private String name;
    private int id;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

 // Two objects are considered equal if their names are equal
    @Override
    public boolean equals(Object o) {
    if (o == null)
        return false;
    if (this == o)
        return true; 
    if (o.getClass() == this.getClass()) {
        Employee p = …
Run Code Online (Sandbox Code Playgroud)

java collections set

12
推荐指数
1
解决办法
8847
查看次数

在shell脚本中使用只读变量

是否有良好的shell编程习惯,只要有可能就使用只读变量,或者它有任何缺点吗?例如,如果我想编写一些包含多个使用不可变文件路径的脚本文件的脚本,那么声明这样的路径是否有意义:

readonly LOGS
export LOGS 
LOGS="/some/path"
Run Code Online (Sandbox Code Playgroud)

另一个问题:将单片和冗长的读取shell脚本代码拆分成单独的文件是一个好主意吗?非常感谢你的回答.

unix linux bash shell

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

Java:如何从AbstractAction对象引用GUI组件?

通常需要根据另一个GUI对象的状态更改其他GUI对象的行为.例如,当按下按钮时,标签应更改其名称.但是,当我使用AbstractAction对象时,JButton myButton = new JButton(myButtonAction);我需要引用继承自AbstractAction的对象中的GUI对象.我应该只是在GUI中创建AbstractAction对象,然后将所有必要的GUI引用传递给AbstractAction对象,还是可以认为是坏样式?

为了使它更具体:

// AbstractAction
   public class MyAction extends AbstractAction {
        public  MyAction(String name, 
                            String description, Integer mnemonic, JLabel) {
            super(name);
            putValue(SHORT_DESCRIPTION, description);
            putValue(MNEMONIC_KEY, mnemonic);
        }
        public void actionPerformed(ActionEvent e) {

                // do something     
            }
        }
    }

public class GUI{
   public Action myAction = null;

   public GUI(){     
        JLabel label = new JLabel("text");
        //This is not a good idea:
         myAction = new MyAction("some text" , desc, new Integer(KeyEvent.VK_Q), label);

        JButton myButton = new JButton(myAction);
   }
}
Run Code Online (Sandbox Code Playgroud)

java swing jbutton abstract-action

6
推荐指数
2
解决办法
3946
查看次数

可以使用不同的返回类型调用

我想在一个单独的线程中执行不同的方法,具体取决于给构造函数的参数.但是,Callable接口只允许一种返回参数.

它应该像这样工作:

Future<String> result =
       executor.submit(ClassThatImplementsCallable(RETURN_STRING));
Future<Integer> result =
       executor.submit(ClassThatImplementsCallable(RETURN_INT));

ClassThatImplementsCallable(RETURN_NOTHING);
Run Code Online (Sandbox Code Playgroud)

要返回null(分别是对Void的引用)或任何其他类型(如String或Integer),我必须使用T,不带任何边界,如下所示:

public static class CallableTest<T> implements Callable<T>{
    T value;
    CallableTest(T value) {
       this.value = value;
    }
    public T call(){    
       return value;   
    }    
}
Run Code Online (Sandbox Code Playgroud)

但是,这不是我想要实现的,但是扩展Void并实现其他一些接口也没有意义.

java parallel-processing multithreading callable

5
推荐指数
1
解决办法
5202
查看次数

Haxe NME UI:MVC应用程序设计的最佳实践

昨天我偶然发现了Haxe NME项目,这是一个非常有前途的想法.但是,仍然无法使用此框架构建复杂的UI.在我看来,构建一个针对这么多不同平台的UI框架似乎是一项令人生畏的任务,因此我认为这不是一种可行的方法,因为即使像Qt和wxWidgets这样老旧成熟的UI框架也不支持很多平台.

但是,在一些漂亮的UI设计器工具的帮助下构建一个特定于平台的UI,然后将UI代码连接到用Haxe编写的UI不可知代码是有意义的.我不知道这是否可行,因为我找不到任何示例,但也许有人已经编写了一些MVC Haxe代码,可以成功连接到不同的平台特定UI,想分享他的经验.谢谢.

model-view-controller user-interface haxe nme

4
推荐指数
1
解决办法
2794
查看次数