List list=new List();和ArrayList list=new ArrayList();
时间: 2024-03-29 14:38:51 浏览: 54
List list = new List(); 语句是错误的,因为List是一个接口,不能直接进行实例化。而ArrayList list = new ArrayList(); 则是正确的语句,创建了一个ArrayList的实例,可以存储任意类型的对象,并提供了一些方便的方法。通过这个语句创建的ArrayList对象,可以使用List接口中定义的所有方法,因为ArrayList实现了List接口,所以它可以作为List接口的实现类使用。但是需要注意的是,如果要使用ArrayList中特有的方法,需要将list对象强制转换为ArrayList类型。
相关问题
List list=new ArrayList();和ArrayList list=new ArrayList();
List list = new ArrayList(); 和 ArrayList list = new ArrayList(); 两个语句的效果是一样的,都创建了一个ArrayList对象。但是,它们的类型不同。第一个语句中,List是一个接口,而ArrayList是它的一个实现类,使用List作为类型可以使代码更加灵活,可以在需要时方便地替换成其他List的实现类,比如LinkedList。而第二个语句中的ArrayList则是一个具体的类,使用它作为类型可以直观地表达出代码的意图,并且可以方便地使用ArrayList中特有的方法。总的来说,哪种方式更适合取决于具体的需求和使用场景。
List<CustomerInfo> customerInfoList = new ArrayList<>(); List<PostLoanOrder> orderList = new ArrayList<>(); List<PostControllerLegalInfo> plistInfo = new ArrayList<>(); List<PostLoanReceipt> receipts = new ArrayList<>(); List<PostRepaymentPlan> plans = new ArrayList<>(); List<AuthBatchAndSendDto> authBatchAndSendDtoList = new ArrayList<>(); 改进代码
可以使用 diamond operator 来简化代码,还可以使用 var 关键字来更清晰地表达变量类型:
```java
var customerInfoList = new ArrayList<CustomerInfo>();
var orderList = new ArrayList<PostLoanOrder>();
var plistInfo = new ArrayList<PostControllerLegalInfo>();
var receipts = new ArrayList<PostLoanReceipt>();
var plans = new ArrayList<PostRepaymentPlan>();
var authBatchAndSendDtoList = new ArrayList<AuthBatchAndSendDto>();
```
此外,如果这些变量都是在同一个类中使用的,可以将它们作为类的成员变量,这样代码会更加简洁。
阅读全文