Java中实例化List<T>时需不需要写明T?

List<String> stringList = new ArrayList<String>();

List<String> stringList = new ArrayList<>();

这两种实例化stringList方式有什么不同?

阅读 5k
4 个回答

第二种写法是jdk7的新特性泛型推断,根据前面变量声明时的泛型推断出后面实例化的泛型

jdk 5 以下版本支持 List<String> stringList = new ArrayList<String>();
jdk 5 + 以上的版本 都支持

第二种写法要求JKD7+,这两种写法没什么不同,第二种简洁一点而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题