JAVA中有关<String>的疑问
1:Listlist=newArrayList<String>();2:List<String>list=newArrayList<String>();3:Listlis...
1:List list=new ArrayList<String>();
2:List<String> list=new ArrayList<String>();
3:List list=new ArrayList();
这三行有什么区别啊,加<String>有什么作用 展开
2:List<String> list=new ArrayList<String>();
3:List list=new ArrayList();
这三行有什么区别啊,加<String>有什么作用 展开
展开全部
楼主说的情况是java中的泛型。什么是泛型,引用别人的一个例子来说……
你的钱包里你规定只装钱
那么你取出来的想也不想就是钱,管他是¥还是$不用转换的-->都是钱(确定里面是什么)
不用泛型的话 就不规定放什么
那么你取出来的东西就不一定是钱,这样你就要转换了,那要是石头的话你要转换成钱就错了(不确定里面到底是什么)
泛型有什么好处呢?
Java 语言中引入泛型是一个较大的功能增强。不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了。这带来了很多好处:
类型安全。 泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。
Java 程序中的一种流行技术是定义这样的集合,即它的元素或键是公共类型的,比如“String 列表”或者“String 到 String 的映射”。通过在变量声明中捕获这一附加的类型信息,泛型允许编译器实施这些附加的类型约束。类型错误现在就可以在编译时被捕获了,而不是在运行时当作 ClassCastException 展示出来。将类型检查从运行时挪到编译时有助于您更容易找到错误,并可提高程序的可靠性。
消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。
尽管减少强制类型转换可以降低使用泛型类的代码的罗嗦程度,但是声明泛型变量会带来相应的罗嗦。
你的钱包里你规定只装钱
那么你取出来的想也不想就是钱,管他是¥还是$不用转换的-->都是钱(确定里面是什么)
不用泛型的话 就不规定放什么
那么你取出来的东西就不一定是钱,这样你就要转换了,那要是石头的话你要转换成钱就错了(不确定里面到底是什么)
泛型有什么好处呢?
Java 语言中引入泛型是一个较大的功能增强。不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了。这带来了很多好处:
类型安全。 泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。
Java 程序中的一种流行技术是定义这样的集合,即它的元素或键是公共类型的,比如“String 列表”或者“String 到 String 的映射”。通过在变量声明中捕获这一附加的类型信息,泛型允许编译器实施这些附加的类型约束。类型错误现在就可以在编译时被捕获了,而不是在运行时当作 ClassCastException 展示出来。将类型检查从运行时挪到编译时有助于您更容易找到错误,并可提高程序的可靠性。
消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。
尽管减少强制类型转换可以降低使用泛型类的代码的罗嗦程度,但是声明泛型变量会带来相应的罗嗦。
展开全部
加上<String>表示这个list只装Stirng类型的对象。不装其他类型的。
这样的话编译时候没有警告。并且list.get(i)得到的对象直接当做String类型来用。不需要强转换。
这样的话编译时候没有警告。并且list.get(i)得到的对象直接当做String类型来用。不需要强转换。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型,具体内容你可以查阅相关的资料。
我们知道List和数组很大的不同就是数组需要一样的数据类型才能存储,比如int[] arr,这个数组只能保存int类型的数据。而list则可以保存任何类型的数据。但是使用的时候我们就要把数据从object类转换为相应的类型才能继续操作。
加上泛型,比如List<String>那么这个list就只能保存String类型的数据,不存在数据转换的问题了。这就是<String>的作用。
我们知道List和数组很大的不同就是数组需要一样的数据类型才能存储,比如int[] arr,这个数组只能保存int类型的数据。而list则可以保存任何类型的数据。但是使用的时候我们就要把数据从object类转换为相应的类型才能继续操作。
加上泛型,比如List<String>那么这个list就只能保存String类型的数据,不存在数据转换的问题了。这就是<String>的作用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询