小编sup*_*ova的帖子

oracle DATE和TIMESTAMP之间的区别

Oracle DATE和TIMESTAMP类型有什么区别?两者都有日期和时间组件?对于这些日期类型,Java中的相应类型是什么?

oracle jdbc oracle11g

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

如何在LinkedHashMap中的特定索引/位置添加元素?

我有一个有序的LinkedHashMap,我想在特定索引处添加元素,比如在地图中的第一个位置或最后一个位置.如何在LinkedHashMap中的特定位置添加元素?

即使我可以在LinkedHashMap中向FIRST或LAST位置添加元素也会有所帮助!

java collections linkedhashmap

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

如何编写多个测试的弹簧测试套件并运行选择性测试?

我在测试类中有很多弹簧测试方法.我想只运行选择性测试.所以我想在同一个类中创建一个测试套件.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/testApplicationContext.xml"})
@TransactionConfiguration(defaultRollback=true)
public class TestersChoice  { 


@Test
@Transactional
public void testAddAccount(){        
  ///do something ....
}  


@Test
@Transactional
public void testDeleteAccount(){        
  ///do something ....
}   

@Test
@Transactional
public void testReadAccount(){        
  ///do something ....
}   
Run Code Online (Sandbox Code Playgroud)

}

如果我运行此类TestersChoice,所有测试都将运行!我只是想运行testReadAccount而不是其余的.我想创建套件来运行选择性测试.(我想避免在测试方法之上删除@Test来实现这一点)在jUnit testcase中有类似的东西.这是我通过将TestersChoice类扩展到TestCase并插入此方法而能够做到的:

public static TestSuite suite(){
      TestSuite suite = new TestSuite();
       suite.addTest(new TestersChoice("testDeleteAccount"));
      return suite;
}
Run Code Online (Sandbox Code Playgroud)

但是现在我没有扩展TestCase所以我无法将套件添加到TestersChoice!

如何进行选择性测试?

junit spring spring-test

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

如何编写NullPointerException安全方法和表达式?

NullPointerException总是一个代码混乱.需要检查每个对象是否为空安全且不抛出NPE.

我遇到了一个情况:

 public void aMethod(Employee emp){
     String fullEmployeeDetailRow = "Name: "+emp.getName().getFirstName()
     +"LastName :"+emp.getName().getFirstName()
    +"Address:"
  +emp.getAddress().getBillingAddress().getBuildingNumber().getApartmentNumber()
  +" "    
  +emp.getAddress().getBillingAddress().getStreetName()
  }
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,NPE有很多可能性.例如在

emp.getAddress().getBillingAddress().getBuildingNumber().getApartmentNumber() 
Run Code Online (Sandbox Code Playgroud)

表达,打电话给

getAddress() or getBillingAddress() or getBuildingNumber() 
Run Code Online (Sandbox Code Playgroud)

任何可以是null和可能的NPE源.所以我现在需要弄乱我的代码来检查每个代码是否为null.

我的问题/想法是:在Java中有没有办法创建一个方法,它接受一个表达式并评估它是否抛出NullPointerException,如果是,则返回一个默认值,比如空白" "

所以在这种情况下我需要一种方法

expression=emp.getAddress().getBillingAddress().getBuildingNumber().getApartmentNumber()

String checkForNPE(expression){
    try{
      return expression;
      }catch(NullPointerException e){
         return " "   // default Value
      }
    }
Run Code Online (Sandbox Code Playgroud)

问题是当我尝试创建这样的方法并将表达式传递给它时,Java会在调用方法之前评估表达式,并事先抛出NPE!

如何将表达式传递给方法并让Java仅在方法内进行评估?

java exception nullpointerexception

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

如何使用 Dozer 映射深层(或嵌套)对象属性?

我需要将具有嵌套对象(深)的对象的属性映射到 DTO 对象。实际上,我想将复杂对象缩小为具有甚至嵌套对象的所有属性的简单 DTO。我试过 BeanUtils 但这也不做深复制。所以我正在探索 Dozer 来实施解决方案。但即使是 Dozer 也在映射一级属性而不是深层嵌套对象属性。

这是我的课程:

    public class Child1  {
    private String name = "MyName";
    private String address = "ABC";

    public TestDTO dto = new TestDTO("50", "USA");

    public TestDTO getDto() {
        return dto;
    }

    public void setDto(TestDTO dto) {
        this.dto = dto;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    } …
Run Code Online (Sandbox Code Playgroud)

java mapping clone javabeans dozer

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