小编Ela*_*da2的帖子

如何使用Java8 lambda以相反的顺序对流进行排序?

我正在使用java lambda对列表进行排序.

我怎样才能以相反的方式对它进行排序?

我看到这篇文章,但我想使用java 8 lambda.

这是我的代码(我使用*-1)作为黑客

Arrays.asList(files).stream()
    .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName()))
    .sorted(new Comparator<File>() {
        public int compare(File o1, File o2) {
            int answer;
            if (o1.lastModified() == o2.lastModified()) {
                answer = 0;
            } else if (o1.lastModified() > o2.lastModified()) {
                answer = 1;
            } else {
                answer = -1;
            }
            return -1 * answer;
        }
    })
    .skip(numOfNewestToLeave)
    .forEach(item -> item.delete());
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

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

@Mock注释后,mock实例为null

我尝试运行此测试:

    @Mock IRoutingObjHttpClient routingClientMock;
    @Mock IRoutingResponseRepository routingResponseRepositoryMock;


    @Test
    public void testSendRoutingRequest() throws Exception {
        CompleteRoutingResponse completeRoutingResponse = new CompleteRoutingResponse();
        completeRoutingResponse.regression_latencyMillis = 500L;

        Mockito.when(routingClientMock.sendRoutingRequest(any(RoutingRequest.class))).thenReturn(completeRoutingResponse);

        RoutingObjHttpClientWithReRun routingObjHttpClientWithReRun = new RoutingObjHttpClientWithReRun
                (routingClientMock, routingResponseRepositoryMock);

...
    }
Run Code Online (Sandbox Code Playgroud)

但我得到NullPointerException:

Mockito.when(routingClientMock.

我错过了什么?

java junit unit-testing mocking mockito

50
推荐指数
7
解决办法
4万
查看次数

getFilesDir()vs Environment.getDataDirectory()

我想用Environment变量替换一个上下文方法.
但不确定它们是否意味着相同.

有什么区别

getFilesDir()Environment.getDataDirectory()

我如何data\datadata\data\com.Myapp使用中获得Environment Variable

android

33
推荐指数
2
解决办法
9万
查看次数

无法解析符号PowerMockRunner

我第一次尝试使用Powermock

我使用build.gradle并添加:

dependencies {
...
    testCompile 'org.mockito:mockito-all:1.9.5'
    testCompile 'org.powermock:powermock-api-mockito:1.5.5'

}
Run Code Online (Sandbox Code Playgroud)

现在我看看我的测试类:

import org.junit.Before;
import org.junit.runner.RunWith;
import org.mockito.Matchers;
import org.powermock.core.classloader.annotations.PrepareForTest;


@RunWith(PowerMockRunner.class)
@PrepareForTest(GeoUtils.class)
Run Code Online (Sandbox Code Playgroud)

并得到此错误:

@RunWith(PowerMockRunner.class)
             ^
cannot resolve symbol PowerMockRunner 
Run Code Online (Sandbox Code Playgroud)

怎么解决PrepareForTest而不是PowerMockRunner

java unit-testing mocking mockito powermock

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

批量更新从更新返回了意外的行数; 实际行数:0; 预期:1

我很难找出NH异常:

批量更新从更新返回了意外的行数; 实际行数:0; 预期:1

我的Dal代码:

 public T Save(T item)
        {
            using (ISession session = NHibernateHelper.GetSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    session.SaveOrUpdate(item);

                    transaction.Commit();

                    return item;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

我的log4net文件:

命令0:UPDATE SET Metadata_FriendDetails用户Id = @ P0,电子邮件= @ P1,名称= @ P2 WHERE FriendId = @ P3; @ P0 = a358ab9d-d481-4bdd-8cb2-18ddc8898c70 [类型:GUID(0)],@ P1 = '1@hotmail.com'[类型:String(4000)],@ P2 = 'myFriend'[类型:String(4000)],@ P3 = 2ea35658-edb1-43e3-b848-e1915d1042df [类型:GUID(0) ]

2011-12-02 13:06:49750 [代理:适配器运行线程测试 'SaveFriendDetails_Test' ID为 '17016e48-1ff4-4dea-8536-6aa3b24e5fb7'] DEBUG NHibernate.AdoNet.AbstractBatcher - 闭IDbCommand的,开放的IDbCommands:0 2011 -12-02 13:06:49751 [代理:适配器运行线程测试 'SaveFriendDetails_Test' ID为 '17016e48-1ff4-4dea-8536-6aa3b24e5fb7'] ERROR NHibernate.Event.Default.AbstractFlushingEventListener …

c# sql database nhibernate orm

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

如何访问getFilesDir()作为环境变量?

我想访问getFilesDir()哪个是上下文方法.

有没有办法像访问外部存储一样访问它?

Environment.getExternalStorageDirectory();

意思是环境变量?

也许应用静态上下文?因为我想从非上下文类(相同的应用程序服务,但不是活动)调用它.

java storage android

17
推荐指数
2
解决办法
7046
查看次数

angular2在一个元素上不能有多个模板绑定

我有这个angular2模板:

<template *ngIf="alerts.length > 0">
<alert *ngFor="let alert of alerts;let i = index" [type]="alert.type" dismissible="true" (close)="closeAlert(i)">
  {{ alert?.msg }}
</alert>
  </template>
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

zone.js:461 Unhandled Promise rejection: Template parse errors:
Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with * (" </div>
  <div *ngSwitchCase="false" class="container p-t-10">
    <alert *ngIf="alerts.length > 0" [ERROR ->]*ngFor="let alert of alerts;let i = index" [type]="alert.type" dismissible="true" (close)="closeAlert"): b@5:37
Run Code Online (Sandbox Code Playgroud)

我把*ngIf和*ngFor放在不同的html元素中是什么问题.它应该工作.没有?

和:

Can't bind to 'type' since it isn't a known …
Run Code Online (Sandbox Code Playgroud)

javascript angular

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

如何在开始和测试期间使用Appium"等待活动"?

我正在使用appium启动已经安装的应用程序.

我的驱动程序初始化后.如何进行轮询 - 等到某些活动显示出来?

我只看到这种方式在启动时等待活动

cap.setCapability("app-wait-activity", "activity-to-wait-for");

还有其他方法吗?未初始化时,如何等待其他特定活动.按一下按钮后说?

只是sleep x seconds

java android ui-testing android-activity appium

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

从HTTP调用时,URL返回504错误

我有这个代码,触发一些异步http调用:

private CompleteRoutingResponseWrapper sendRoutingRequestString(int numOfTries, String routingRequestUrl) {
    routingRequestUrl = urlUtils.getHttpUrl(routingRequestUrl);

    CompleteRoutingResponseWrapper answer = new CompleteRoutingResponseWrapper();
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse response = null;
    try {

        Stopwatch stopWatch = Stopwatch.createStarted();
        response = client.execute(new HttpGet(routingRequestUrl));
        stopWatch.stop();

        int statusCode = response.getStatusLine().getStatusCode();
        if (statusCode != 200) {
            answer = retryOrHandleError(numOfTries, routingRequestUrl, answer, response, statusCode);
        } else {
            String bodyAsString = EntityUtils.toString(response.getEntity());
            answer.completeRoutingResponse = handleSuccess(bodyAsString);
            answer.latency = stopWatch.elapsed(TimeUnit.MILLISECONDS);
            handleErrorInBody(routingRequestUrl, answer, bodyAsString);
        }
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println(e.getMessage());
    }
    handleNullResponse(answer);
    return answer;
} …
Run Code Online (Sandbox Code Playgroud)

java asynchronous http jersey

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

setConnectTimeout与setConnectionTimeToLive对比setSocketTimeout()

有谁可以解释这两者之间的区别是什么:

client = HttpClientBuilder.create()
    .setConnectionTimeToLive(1, TimeUnit.MINUTES)
    .build();
Run Code Online (Sandbox Code Playgroud)

RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30 * 1000).build();
client = HttpClientBuilder
    .create()
    .setDefaultRequestConfig(requestConfig)
    .build();
Run Code Online (Sandbox Code Playgroud)

使用起来更好setSocketTimeout吗?

java apache-httpclient-4.x

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