java泛型 原生类 赋值时

问题描述

java泛型 原生类 赋值时

class Fruit { }
public class Test {
public static void main(String[] args) {
List list1 = new ArrayList();
//list list2 = new ArrayList();
}

list2报错我是知道的,但是我不明白list1作为原生类为什么可以被赋值为ArrayList呢?

解决方案

List是接口,不是原生类。

解决方案二:

Java中的泛型方法

解决方案三:

ArrayList是对List的一种实现。

时间: 2025-01-03 14:56:28

java泛型 原生类 赋值时的相关文章

问一个Java泛型与类继承的问题

问题描述 问一个Java泛型与类继承的问题 直接上代码了 //DeviceRepository类 public abstract class DeviceRepository<T extends Device> extends DomainRepository<T> //DeviceEventHandler类第一种写法 public abstract class DeviceEventHandler<M extends Device,R extends DeviceRepos

浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号_javascript技巧

1 C,C++,Java,PHP都能容忍末尾的逗号 C,C++,Java中对数组赋值时,最后一个元素末尾的逗号可有可无.下面两行代码对这些语言来说是等效的. int a[] = {1,2,3}; /* 正确 */ int a[] = {1,2,3,}; /* 正确 */ PHP这一点也继承了C的特点,下面的两行代码等效. $a = array(1,2,3); /* 正确 */ $a = array(1,2,3,); /* 正确 */ 2 JavaScript视末尾逗号为语法错误! 然而到了Jav

绑定子类的泛型基类,反模式?

 这次总结一个个人认为的反模式:"绑定子类的泛型层基类",这个模式在一些著名的框架中也见到过,如果CSLA.BlogEngine.我自己在原来的写的框架中,也用到过.     当然了,个人认为是反模式,各们同仁并不一定这样认为,仁者见仁,智者见智了.不过我好几次都是受尽折磨,所以决定写出来给大家分享下心得.   模式介绍     "层基类"是MF提出的一个基本模式,详见:<Layer Supertype>.这种模式在经典的层次型架构设计的实现中,是极其重

java泛型总结

什么是泛型 泛型是jdk5引入的类型机制,就是将类型参数化,它是早在1999年就制定的jsr14的实现. 泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比杂乱的使用object并在需要时再强制类型转换的机制具有更好的可读性和安全性. 泛型程序设计意味着程序可以被不同类型的对象重用,类似c++的模版. 泛型对于集合类尤其有用,如ArrayList.这里可能有疑问,既然泛型为了适应不同的对象,ArrayList本来就可以操作不同类型的对象呀?那是因为没有泛型之前采用继承机制

Java 泛型详解

在日常的开发中,我们会看到别人的框架很多地方会使用到泛型,泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法.泛型的类型参数只能是类类型(包括自定义类),不能是简单类型.本篇博客我们就来详细解析一下泛型的知识. 泛型类定义及使用 使用泛型有什么好处呢?首先我们先看一个例子,假设我们有两个类,代码如下: #StringClass  public class Strin

Java泛型中extends和super的理解(转)

E – Element (在集合中使用,因为集合中存放的是元素) T – Type(Java 类) K – Key(键) V – Value(值) N – Number(数值类型) ? – 表示不确定的java类型(无限制通配符类型) S.U.V – 2nd.3rd.4th types Object – 是所有类的根类,任何类的对象都可以设置给该Object引用变量,使用的时候可能需要类型强制转换,但是用使用了泛型T.E等这些标识符后,在实际用之前类型就已经确定了,不需要再进行类型强制转换. ?

java泛型问题,方法参数问题

问题描述 java泛型问题,方法参数问题 Java泛型. 代码如下: class Info{ private T var; public void setVar(T var){ this.var=var; } public T getVar(){ return this.var; } public String toString(){ return this.var.toString(); } } 下面是第一个测试程序: public class GenericsDemo6{ public st

Java泛型详解_java

1. Why --引入泛型机制的原因     假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象.然而,过了一阵,我们想要实现一个大小可以改变的Date对象数组,这时我们当然希望能够重用之前写过的那个针对String对象的ArrayList实现.     在Java 5之前,ArrayList的实现大致如下: public class ArrayList { public Object get(int i) { ... }

C++实现的泛型List类分享_C 语言

额,不要说我三心二意:一边在看.NET和CLR的原理.一边在看JavaScript.一边在看Java:有时看算法有时看Unity.Hibernate:有时看Hadoop有时看Redis:现在又开始看C++了. 以前觉得无论什么语言嘛,其实都差不多,核心思想基本一致.现在又不这么想了,其实语言的选择对软件的性能.可靠性.开发成本之类的关系很大,所以觉得还是要多接触一些比较核心的东西--那么自然是C++了.以前在学校学的C++完全是酱油,太水了基本没啥用,用来用去和C差不多,所以现在要自己学啦. 废