小编pkr*_*ish的帖子

何时使用Comparable和Comparator

我有一个对象列表,我需要在一个字段上排序,比如分数.在没有多想的情况下,我编写了一个实现Comparator的新类,它可以执行任务并且可以正常运行.

现在回过头来看,我想知道我是否应该让我的类实现Comparable,而不是创建一个实现Comparator的新类.分数是对象将被订购的唯一字段.

  1. 我做过什么可以接受的做法?

  2. 是正确的方法"首先让类实现Comparable(对于自然顺序),如果需要替代字段比较,那么创建一个实现Comparator的新类"?

  3. 如果上面的(2)为真,那么它是否意味着只有在具有类实现Comparable之后才应该实现Comparator?(假设我拥有原始课程).

java comparable comparator

106
推荐指数
10
解决办法
11万
查看次数

如何通过评估角度表达式来修改innerHTML

我想做这样的事情

<div id="{{item.id}}" ng-repeat="item in itemList">
    {{item.innerHTML}}
</div>
Run Code Online (Sandbox Code Playgroud)

item.innerHTML包含需要去那里的html,但由于它是dom的一部分,因此它被替换为字符串.有没有办法让它取代innerHTML?

谢谢!

angularjs

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

如何模拟静态成员变量

我有一个类ClassToTest,它依赖于ClassToMock.

public class ClassToMock {

  private static final String MEMBER_1 = FileReader.readMemeber1();

  protected void someMethod() {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

ClassToTest的单元测试用例.

public class ClassToTestTest {
  private ClassToMock _mock;

  @Before
  public void setUp() throws Exception {
     _mock = mock(ClassToMock.class)
  }

}
Run Code Online (Sandbox Code Playgroud)

在setUp()方法中调用mock时,FileReader.readMemeber1(); 被执行.有办法避免这种情况吗?我认为一种方法是在方法中初始化MEMBER_1.还有其他选择吗?

谢谢!

junit unit-testing mocking mockito

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

从kpcs7(.p7b)文件中提取私钥和证书

我有一个.p7b文件.如何提取密钥和证书?我试过openssl,但我无法获得确切的命令/选项.

谢谢!

security openssl

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

ng-bind-html不加载图像src

我有这样一个简单的演示文稿

<div id="{{item.id}}" ng-repeat="item in itemList">
        <div ng-bind-html="item.html"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

item.html包含这样的html:

<a href="http://www.youtube.com"><img src="icons/youtube.png" alt="Youtube"/></a> 
Run Code Online (Sandbox Code Playgroud)

但是,生成的html不会加载图像:

<a href="http://www.youtube.com"><img alt="Youtube"/></a>
Run Code Online (Sandbox Code Playgroud)

经过一些搜索,看起来像angularjs这样做是为了避免跨站点脚本,但我能够直接从youtube加载图像.

<a href="http://www.youtube.com"><img src="http://img.youtube.com/vi/9bZkp7q19f0/0.jpg" alt="Youtube"/></a>
Run Code Online (Sandbox Code Playgroud)

此外,我能够使用ng-bind-html-unsafe加载所有图像.

    <div id="{{item.id}}" ng-repeat="item in itemList">
        <div ng-bind-html-unsafe="item.html"></div>
    </div>
Run Code Online (Sandbox Code Playgroud)

如果我使用ng-bind-html-unsafe,我不再需要ngSanitize模块,这意味着我的代码不太安全?我确实有用例从外部源加载图像.

来到我的问题:

  1. 除了上面提到的内容之外,ng-bind-html和ng-bind-html-unsafe有什么区别.有没有关于此的文件?我找不到任何东西.

  2. 如何从主机服务器和外部服务器加载图像,而不必使用unsafe指令?

谢谢!

angularjs

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

使父线程等到子线程完成或超时

我在unix上运行Java进程.

我需要运行一个外部进程,该进程由主进程使用ProcessBuilder生成.主进程等待外部进程完成,然后生成下一个外部进程.我一直在这里工作.

public static void main(String[] args) { for(...) { int exitVal = runExternalProcess(args); if(exitVal !=0) { failedProcess.add(args); } } }

private int runExternalProcess(String[] args) { ProcessBuilder pb = new ProcessBuilder(args[0], args[1], args[2]); pb.redirectErrorStream(true); Process proc = pb.start(); BufferedReader br = new BufferedReader(new InputStreamReader( proc.getInputStream())); String line = null; while ( (line = br.readLine()) != null) LOG.log(Level.SEVERE, line);

//Main thread waits for external process to complete.
//What I need to do is. 
// If proc.executionTime() > TIMEOUT
//     kill proc; …
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)

java multithreading

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