小编Dun*_*nes的帖子

使用JUnit assertEquals的自定义异常消息?

我正在使用断言等于比较两个数字

Assert.assertEquals("My error message", First , Second);
Run Code Online (Sandbox Code Playgroud)

然后,当我生成测试报告时,我得到了

"我预期的错误信息(第一)(第二)"

如何自定义我用斜体显示的部分?和数字的格式?

java testing customization junit

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

在@Rule中并行化测试执行

我想重用一些集成测试来进行负载测试.我实现了一个由注释参数化的规则:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Parallel {

    int invocations() default 1;

    int rampUpTime() default 0;
}
Run Code Online (Sandbox Code Playgroud)

在我的规则实现中,评估注释并设置一个语句,该语句具有如下的evaluate方法:

@Override
public void evaluate() throws Throwable {
    ScheduledExecutorService exe = Executors.newScheduledThreadPool(invocations);

    for (int i = 0; i < invocations; i++) {
        ScheduledFuture<?> scheduledFuture = exe.schedule(new Runnable() {

            @Override
            public void run() {
                try {
                    invocated++;

                    // Request test = Request.method(description.getTestClass(), description.getMethodName());
                    // new JUnitCore().run(test);

                    statement.evaluate();
                } catch (Throwable e) {
                    e.printStackTrace();
                }
            }
        }, i * rampUpTime, this.timeUnit);
        futures.add(scheduledFuture);
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,evaluate …

java junit junit-rule

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

为什么我可以使用一个DES密钥加密数据并成功解密另一个DES密钥?

我尝试使用pyDes和Crypto.Cipher.DES模块实现DES算法.我发现了一个问题,当我用82514145密钥加密然后解密密码93505044我可以检索解密的文本.我发现256个键表现得像这样.这违反了密码学.我的代码如下:

    from Crypto.Cipher import DES
    plain_text = 'asdfghij'
    print 'plain Text: ', plain_text

    des = DES.new('82514145', DES.MODE_ECB)
    cipher_text = des.encrypt(plain_text)
    print 'the cipher text is ', cipher_text

    des = DES.new('93505044', DES.MODE_ECB)
    print 'the decrypted text is: ', des.decrypt(cipher_text)
Run Code Online (Sandbox Code Playgroud)

输出是:

plain Text:  asdfghij

the cipher text is  @?Z????

the decrypted text is:  asdfghij
Run Code Online (Sandbox Code Playgroud)

我的工作有什么不对吗?我也用pyDes得到了相同的结果.

python cryptography des encryption-symmetric pycrypto

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

如何在从网络加载图像时修复Listview滚动jank

我使用Image.network为列表中的每个项目加载图像,使用以下代码:

Image getEventImageWidget(AustinFeedsMeEvent event) {
return event.photoUrl.isNotEmpty ?
          Image.network(
            event.photoUrl,
            width: 77.0,
            height: 77.0,
          ) : Image.asset(
            'assets/ic_logo.png',
            width: 77.0,
            height: 77.0,
          );
}
Run Code Online (Sandbox Code Playgroud)

当我向上和向下滚动时,列表有时会在加载图像时挂起.有没有办法在背景线程上加载图像?我该怎么做才能帮助修复滚动性能?

flutter

7
推荐指数
2
解决办法
996
查看次数

这种奇怪的Java行为的原因是什么?

我想在Longs 上测试'=='运算符,这就是我发现的:以下代码:

public static void main(final String[] args) {
    final Long n = 0L;
    final Long m = 0L;
    System.out.println(n + " == " + m + " : " + (n == m));

    final Long a = 127L;
    final Long b = 127L;
    System.out.println(a + " == " + b + " : " + (a == b));

    final Long A = 128L;
    final Long B = 128L;
    System.out.println(A + " == " + B + " …
Run Code Online (Sandbox Code Playgroud)

java jvm bytecode

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

我可以为SLF4J添加自定义级别吗?

SLF4J似乎支持TRACE,DEBUG,INFO,WARNERROR水平开箱.

有没有办法添加自己的自定义级别?

java logging slf4j

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

在Android上生成不同的RSA公钥

我能够在我的Java桌面环境中生成一个公钥,我得到了类似的东西

Sun RSA public key, 1024 bits modulus: 101700973019391285593457598101942678753508114287289699162184623605939671495532511783006850112834969917970271633181351680298749946797462542179729127916916336425952724141383800466274935950042225686754068132826643586090512962724382324158485291344703936377718522573879330753020035687831145457530843148690890911921 public exponent: 65537

但是在Android设备上,当我将密钥作为字符串并用于KeyFactory生成公钥时,我得到了这个:

OpenSSLRSAPublicKey{modulus=90d3b5cefc50dc42828cee8d718876f7573b4c9287dddf808e73cb66266c2004165217f86d0f0192de0bb88b3aac2002303ee8b1c926e9bc54189a5ec5a12bb293df0b3c6ff2458a63098f712f0b72218ce301c38de3971ae8c6c646160a5e2e24dc07679e5a82ada1233ecf5eca3d0d1f483d1c9f059 a23deed537c670b70b1,publicExponent=10001}

钥匙有差异.我试过SpongyCastle.我仍然在Android上获得OpenSSL结果.

我错过了什么?

java android openssl rsa spongycastle

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

BeanUtils copyProperties复制Arraylist

我知道BeanUtils可以将单个对象复制到其他对象.

是否可以复制一个arraylist.

例如:

 FromBean fromBean = new FromBean("fromBean", "fromBeanAProp", "fromBeanBProp");
 ToBean toBean = new ToBean("toBean", "toBeanBProp", "toBeanCProp");
 BeanUtils.copyProperties(toBean, fromBean);
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?

List<FromBean > fromBeanList = new ArrayList<FromBean >();  
List<ToBean > toBeanList = new ArrayList<ToBean >();  
BeanUtils.copyProperties(toBeanList , fromBeanList );
Run Code Online (Sandbox Code Playgroud)

它不适合我.谁能帮帮我吗.

提前致谢.

java copy apache-commons-beanutils

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

用名称替换小数1到10("一","两"......)

我试图取一个字符串然后返回一个数字1到10的字符串替换为这些数字的单词.例如:

我在10场比赛中赢了7场,获得了30美元.

应成为:

我在场比赛中赢了场并获得了30美元.

所以我这样做了:

import org.apache.commons.lang3.StringUtils;

String[] numbers = new String[] {"1", "2", "3","4","5","6","7","8","9","10"};
String[] words   = new String[]{"one", "two", "three","four","five","six",
    "seven","eight","nine","ten"};
System.out.print(StringUtils.replaceEach(phrase, numbers, words));
Run Code Online (Sandbox Code Playgroud)

结果如下:

我赢了一场比赛中的七场并获得了3美元.

所以我尝试了一种蛮力方式,我确信可以通过正则表达式或更优雅的字符串操作来改进:

public class StringReplace {

  public static void main(String[] args) {
    String phrase = "I won 7 of the 10 games and received 30 dollars.";
    String[] sentenceWords = phrase.split(" ");
    StringBuilder sb = new StringBuilder();
    for (String s: sentenceWords) { 
      if (isNumeric(s)) { 
        sb.append(switchOutText(s));
      }

      else { 
        sb.append(s); …
Run Code Online (Sandbox Code Playgroud)

java regex string

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

如果只能插入空值,List <?>的目的是什么?

根据链接中提供的信息,它说:

重要的是要注意List<Object>并且List<?>不一样.您可以将Object或Object的任何子类型插入到List<Object>.但是你只能在一个插入中插入null List<?>.

List<?>null插入时使用有什么用?

例如,

methodOne(ArrayList<?> l):我们可以将此方法用于ArrayList任何类型,但在方法中我们不能向List添加任何东西,除了null.

l.add(null);//(valid)
l.add("A");//(invalid)
Run Code Online (Sandbox Code Playgroud)

java generics unbounded-wildcard

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