当前位置: 首页 > news >正文

摄影网站设计实现步骤自动推广工具

摄影网站设计实现步骤,自动推广工具,品牌网店怎么加盟,重庆沙坪坝房价一、泛型 1 概念 泛型(Generics),广泛的类型。最大用途是给集合容器添加标签,让开发人员知道容器里面放到是什么类型,并且自动对放入集合的元素进行类型检查。 类比实参和形参,我们在对方法中的变量操作时,并没有指…

一、泛型

1 概念

泛型(Generics),广泛的类型。最大用途是给集合容器添加标签,让开发人员知道容器里面放到是什么类型,并且自动对放入集合的元素进行类型检查。

类比实参和形参,我们在对方法中的变量操作时,并没有指明变量的实际大小,而是使用变量名来指代。泛型就是这个情况下诞生的,通过符号来指代类型,等方法调用传入实参时才会明确具体类型。

//当使用这个类时,再指明T的类型
class MyClass<T>{T obj;public T getObj(){return obj;}public void setObj(T obj){this.obj = obj;}
}public class Demo{public static void main(){//指明类型是StringMyClass<String> stringClass = new MyClass<>();//指明类型是DoubleMyClass<Double> stringClass = new MyClass<>();//指明类型是IntegerMyClass<Integer> stringClass = new MyClass<>();}
}

总的来说,泛型就是一个参数,是类型的参数。泛型的作用:把运行时可能存在的强制类型转换风险提前到编译期解决,并简化了代码。

2 声明位置和使用位置

  • 泛型类
    • 声明位置:类名 <T>
    • 可以使用的位置:
      • 成员变量类型
      • 非静态成员方法的返回值类型
      • 非静态成员方法的参数类型
  • 泛型接口
    • 声明位置:接口名 <T>
    • 两种使用情况:
      • class ClassA implements 接口名<类型名称>, 实现类不再是泛型类
      • class ClassB<T> implements 接口名<T>, 实现类还是泛型类
  • 泛型方法
    • 声明位置:public static <T> 返回值类型 方法名(T t)
    • 使用位置:只能在方法域内部使用
    • 示例:public static <T> T show(T t) : 传入什么类型,就返回什么类型

3 使用的注意事项

  • 静态域内部不能使用泛型
  • 使用泛型类时,必须明确泛型类型
  • 使用泛型对象时,可以省略右边的泛型类型,但是不能少了<>
  • 如果使用泛型类时没有指明类型,默认是Object类型

4 通配符

  • <?> 表示任意的泛型类型
    跟原先的T有些区别,原先的T的类型对应的是调用时传入的类型。方法泛型需要再返回值前面定义。即public static <T> 返回值类型 方法名(T t),所以T类似于一个中转站。
  • <? extends A> 设定类需要继承父类A,即上限
  • <? super B> 设定类需要是子类B的父类,即下限

应用场景:

  • 设置下限:最小也肯定是动物。最大可能是Object。通常用于添加数组,不适合获取数据
void test1(List<? super Animal> list){//适合添加数据list.add(new Animal());list.add(new Cat())//不适合获取,得到数据后也要强制类型转换Object o = list.get(0);
}
  • 设置上限:获取到的肯定是动物的子类,最大也是动物类
void test1(List<? extends Animal> list){//适合获取数据Animal a = list.get(0);//不能添加数据list.add(new );//无法确定添加什么类型的数据
}
  • <?>不适合获取,也不能添加,通常用于翻转,复制等操作。

5 通配符<?>和泛型参数T的区别

通配符<?>和泛型参数T的区别在于使用的场景和限制。 通配符<?>是一种不确定的类型,可以用来表示任意类型。它可以在方法的参数和返回值类型中使用,用来增加灵活性,使方法可以接受不同类型的参数。
泛型参数T是一种确定的类型,可以在类、方法、接口等定义中使用,用来指定某种具体的类型。它可以使代码更加安全和类型正确,并提供编译时的类型检查。

具体区别如下:

  1. 使用范围:通配符<?>可以在方法的参数和返回值类型中使用,可以接受不同类型的参数。而泛型参数T可以在类、方法、接口等定义中使用,用来指定某种具体的类型。
  2. 灵活性:通配符<?>可以接受任意类型的参数,因此在方法的定义中可以处理多种不同类型的参数。而泛型参数T是一种确定的类型,只能处理指定的类型。
  3. 类型推断:通配符<?>在方法调用时无法推断具体的类型,需要手动指定或进行类型转换。而泛型参数T在方法调用时可以根据实际参数类型自动推断具体的类型,不需要手动指定。
  4. 限制:通配符<?>无法获取具体的类型信息,只能进行简单的操作。而泛型参数T可以通过反射等方式获取具体的类型信息,进行更复杂的操作。

总之,通配符<?>和泛型参数T在使用场景、灵活性和类型推断等方面有所不同。选择使用哪种方式取决于具体的需求和代码逻辑。

http://www.dinnco.com/news/51735.html

相关文章:

  • 做悬赏任务的网站自己如何制作一个小程序
  • 汕头选择免费网站优化每日新闻摘抄10一15字
  • 南京网站开发培训百度收录教程
  • 做黎川旅游网站的目的微信推广方法
  • 网站建设的快乐唐山seo排名优化
  • 更加精准高效的措施河源市seo点击排名软件价格
  • 营销网站制作流程seo刷排名工具
  • 网站设计 扁平化接广告赚钱的平台
  • 网站技术方案说明好看的html网页
  • 厦门网站建设开发公司推广普通话作文
  • 分析网站建设流程广告投放平台排名
  • 网站导航内链建设培训seo去哪家机构最好
  • wordpress防伪码宁波网站关键词优化公司
  • 金塔凯元建设集团有限公司官方网站销售crm客户管理系统
  • 跨境电商东莞网站建设百度推广按效果付费是多少钱
  • web前端做营销类企业网站银川网页设计公司
  • 北京建网站哪家公司好app推广兼职是诈骗吗
  • 做视频能赚钱的网站5118营销大数据
  • 网站系统性能定义短链接在线生成免费
  • 电子商务网站建设与维护百度营销登录
  • 江苏省建设类高工申报网站磁力下载
  • 班级网站界面seo博客写作
  • 大型网站集群怎么做宣传推广方案模板
  • 济南网站建设培训网搜网
  • 网站是用织梦系统做的首页打开超慢搜索引擎营销的基本方法
  • wordpress 新建文章类seo技巧优化
  • windows系统没有wordpress系统优化的例子
  • 印度疫情死亡5亿seo排名优化方式方法
  • html5 网站后台企业网站推广注意事项
  • 西部数据网站备案流程最好的seo外包