小编Mur*_*nik的帖子

JUnit 5 @Nested注释的目的是什么?

在JUnit 5中,有一个新的注释:@Nested.

我理解它是如何工作的,我理解为什么我们使用嵌套类,我只是不明白为什么我们需要在测试中使用嵌套测试类.

java junit unit-testing nested junit5

12
推荐指数
3
解决办法
3225
查看次数

为什么intern()不能与文字'java'一起使用?

我试过下面的代码:

public class TestIntern {
  public static void main(String[] args) {
   char[] c1={'a','b','h','i'};
   String s1 = new String(c1);
   s1.intern();
   String s2="abhi";
   System.out.println(s1==s2);//true

   char[] c2={'j','a','v','a'};
   String sj1 = new String(c2);
   sj1.intern();
   String sj2="java";
   System.out.println(sj1==sj2);//false

   char[] c3={'J','A','V','A'};
   String tj1 = new String(c3);
   tj1.intern();
   String tj2="JAVA";
   System.out.println(tj1==tj2);//true
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了很多不同的文字.

任何人都可以解释为什么intern()不能按字面意思的方式工作"java"?为什么上面的参考比较要评估true,除非文字是"java"

java string string-interning

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

Docker:为什么我需要在 Ubuntu 中使用 sudo?

我正在完成本教程设置 Docker,我发现他们的所有示例都是这样编写的

docker run hello-world
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,它说套接字上的权限被拒绝,我必须这样做

sudo docker run hello-world
Run Code Online (Sandbox Code Playgroud)

运行示例。为什么即使对于这些简单的例子也需要 root 权限?

permissions sudo docker ubuntu-16.04

12
推荐指数
2
解决办法
3794
查看次数

Java抑制警告"X标记为不稳定"

我使用的MediaType是Google.com,它标记为@Beta.我想压制一些标记为不稳定的警告.

什么是@SuppressWarnings关键,我需要使用?

java warnings suppress-warnings guava

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

如何创建一个泛型方法来返回枚举值的数组而不是其常量?

我有一个enum作为String的描述.这是枚举.

public enum tabs
{
    A("Actual data"),
    B("Bad data"),
    C("Can data"),
    D("Direct data");

    private String description;
    tabs(String desc)
    {
        this.description = desc;
    }


    public String getDescription()
    {
        return this.description;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我需要A的数据,我就是这么做的

tabs.A.description
Run Code Online (Sandbox Code Playgroud)

我正在创建一个返回值的泛型方法.

我设法利用下面的泛型方法接受枚举类型作为参数.它返回枚举常量的数组.但我实际上希望它返回一个值数组..即{"实际数据","错误数据","可以数据","直接数据"}.

public static String[] getActualTabs(Class<? extends Enum<?>> e) 
{
    return Arrays.stream(e.getEnumConstants()).map(Enum::name).toArray(String[]::new);
}
Run Code Online (Sandbox Code Playgroud)

我有什么选择来实现这一目标?

java generics enums

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

何时使用@RunWith以及何时使用@ExtendWith

我的团队和我一直在使用Spring Boot开发大量微服务。由于服务是通过JUnit和Spring Boot升级进行的(我们现在使用的是Spring Boot 2和JUnit 5),因此由不同开发人员实现的不同JUnit现在在以下方面使用不同的模式:

  • @ExtendWith
  • @RunWith

今天,它们两者之间有什么区别?我们是否真的需要它们进行单元测试,或者将其嵌入一些新的Spring Boot注释中?

annotations junit4 spring-boot junit5

12
推荐指数
4
解决办法
2779
查看次数

PHP sqlsrv查询到数据库

我从MySQL迁移到MS SQL Server,并尝试从例程表中获取所有数据.我已连接但不确定如何使用sqlsrv获取数据.这是我走了多远:

$conn_array = array (
    "UID" => "sa",
    "PWD" => "root",
    "Database" => "nih_bw",
);
$conn = sqlsrv_connect('BILAL', $conn_array);
if ($conn){
    echo "connected";
    $result = sqlsrv_query($db->db_conn,"SELECT * FROM routines");
}else{
    die(print_r(sqlsrv_errors(), true));
}
sqlsrv_close($conn);
?>
Run Code Online (Sandbox Code Playgroud)

php sql sql-server sqlsrv

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

使用UNION ALL进行分组和排序

我有一个存储过程与以下查询:

SELECT (sum(addition)) AS [COUNT], 
MAX(CONVERT(VARCHAR(12),CREATED,102)) as [date]
FROM [TABLE_ONE]
WHERE convert(VARCHAR(12),CREATED,102) BETWEEN CONVERT(date,@startdate) AND CONVERT(date,@enddate)
AND [ServiceID]=@serid
GROUP BY CONVERT(VARCHAR(12),CREATED,102) 
ORDER BY  CONVERT(VARCHAR(12),CREATED,102)  
Run Code Online (Sandbox Code Playgroud)

我需要做一个union all,所以我可以从两个表中获得结果的总和,并且我希望结果按照相同的方式进行分组和排序.

这不起作用:

SELECT (sum(addition)) AS [COUNT], 
MAX(CONVERT(VARCHAR(12),CREATED,102)) as [date]
FROM [TABLE_ONE]
WHERE convert(VARCHAR(12),CREATED,102) BETWEEN CONVERT(date,@startdate) AND CONVERT(date,@enddate)
AND [ServiceID]=@serid
GROUP BY CONVERT(VARCHAR(12),CREATED,102) 
ORDER BY  CONVERT(VARCHAR(12),CREATED,102)  

UNION ALL

SELECT (sum(addition)) AS [COUNT], 
MAX(CONVERT(VARCHAR(12),CREATED,102)) as [date]
FROM [TABLE_TWO]
WHERE convert(VARCHAR(12),CREATED,102) BETWEEN CONVERT(date,@startdate) AND CONVERT(date,@enddate)
AND [ServiceID]=@serid
GROUP BY CONVERT(VARCHAR(12),CREATED,102) 
ORDER BY  CONVERT(VARCHAR(12),CREATED,102) 
Run Code Online (Sandbox Code Playgroud)

我想订购整体结果,并按日期分组.

sql group-by sql-order-by sql-server-2008 union-all

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

在HashMap中查找值的数量?

什么是发现的总数最好/最有效的方式HashMap.

我不是指.size()方法,因为它计算键的数量.我想要所有键中的的总数.

我想这样做,因为我的钥匙是String,但我的价值是List.

java dictionary hashmap

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

Java 8 - 基于特定订单的自定义排序

我想根据用户列表的状态对用户列表进行排序,但订单必须基于我设置的顺序.

我想设置列表的顺序,

订单应为1,0,5.我们还应该记住订购用户名.

List<User> users = new ArrayList();
         users.add(new User("A", 1));
         users.add(new User("B", 5));
         users.add(new User("C", 0));
         users.add(new User("D", 1));
         users.add(new User("E", 5));
         users.add(new User("F", 0));
Run Code Online (Sandbox Code Playgroud)

这是用户类

public class User {
         private String username;
         private Integer status;
     }
Run Code Online (Sandbox Code Playgroud)

它看起来应该是这样的

[
    {
      "username": "A",
      "status": 1
    },
    {
       "username": "D",
       "status": 1
    },
    {
       "username": "C",
       "status": 0
    },
    {
       "username": "F",
       "status": 0
    },
    {
       "username": "B",
       "status": 5
    },
    {
       "username": "E",
       "status": 5
    }
]
Run Code Online (Sandbox Code Playgroud)

我不确定是否可以使用 …

java sorting comparator java-8

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