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

盐城做网站的公司地址广州搜索排名优化

盐城做网站的公司地址,广州搜索排名优化,怎么做网站游戏,中小企业网络规划与设计论文目录 通配符的作用 先看一段代码 用通配符"?"后,代码变化 结论 通配符上界 通配符下界 对通配符上下界的注释理解及其练习代码 简记: ? 用于在泛型的使用,即为通配符. 在Java中,通配符(wildcard)主要用于泛型…

目录

通配符的作用

        先看一段代码

        用通配符"?"后,代码变化

        结论

通配符上界 

通配符下界

对通配符上下界的注释理解及其练习代码  


简记: ?  用于在泛型的使用,即为通配符.
在Java中,通配符(wildcard)主要用于泛型编程,用于表示一个不确定的类型。
通配符有三种形式:1.通配符<?>  2.通配符<? extends T>   3. 通配符<? super T>

通配符的作用

先看一段代码

class Test0 {public static void main(String[] args) {System.out.println("===========1.String==============");Message<String> message1 = new Message<>();message1.setMessage("fly in the sky!");fun1(message1);System.out.println("===========2.Integer=============");Message<Integer> message2 = new Message<>();message2.setMessage(99);fun2(message2);System.out.println("===========3.Character============");Message<Character> message3 = new Message<>();message3.setMessage('s');func3(message3);System.out.println("===========4.Short================");Message<Short> message4 = new Message<>();message4.setMessage((short) 213);func4(message4);System.out.println("===========5.Long=================");Message<Long> message5 = new Message<>();message5.setMessage(1024L);func5(message5);System.out.println("===========6.Float=================");Message<Float> message6 = new Message<>();message6.setMessage(3.1415926f);func6(message6);System.out.println("===========7.Double================");Message<Double> message7 = new Message<>();message7.setMessage(1024.0213);func7(message7);System.out.println("===========8.Boolean===============");Message<Boolean> message8 = new Message<>();message8.setMessage(true);func8(message8);}public static void fun1(Message<String> tmp) {System.out.println(tmp.getMessage());}public static void fun2(Message<Integer> tmp) {System.out.println(tmp.getMessage());}public static void func3(Message<Character> tmp) {System.out.println(tmp.getMessage());}public static void func4(Message<Short> tmp) {System.out.println(tmp.getMessage());}public static void func5(Message<Long> tmp) {System.out.println(tmp.getMessage());}public static void func6(Message<Float> tmp) {System.out.println(tmp.getMessage());}public static void func7(Message<Double> tmp) {System.out.println(tmp.getMessage());}public static void func8(Message<Boolean> tmp) {System.out.println(tmp.getMessage());}
}

用通配符"?"后,代码变化

class Test1 {public static void func(Message<?> temp) {System.out.println(temp.getMessage());}public static void main(String[] args) {System.out.println("===========1.String==============");Message<String> message1 = new Message<>();message1.setMessage("fly in the sky!");func(message1);System.out.println("===========2.Integer=============");Message<Integer> message2 = new Message<>();message2.setMessage(99);func(message2);System.out.println("===========3.Character============");Message<Character> message3 = new Message<>();message3.setMessage('s');func(message3);System.out.println("===========4.Short================");Message<Short> message4 = new Message<>();message4.setMessage((short) 213);func(message4);System.out.println("===========5.Long=================");Message<Long> message5 = new Message<>();message5.setMessage(1024L);func(message5);System.out.println("===========6.Float=================");Message<Float> message6 = new Message<>();message6.setMessage(3.1415926f);func(message6);System.out.println("===========7.Double================");Message<Double> message7 = new Message<>();message7.setMessage(1024.0213);func(message7);System.out.println("===========8.Boolean===============");Message<Boolean> message8 = new Message<>();message8.setMessage(true);func(message8);}
}

结论

结论:使用通配符"?"可以接收所有的泛型类型,从而大大减少代码量,


 注:虽然通配符 "?" 可以接受任意类型,但正因为如此,由于不确定类型,所以在func方法中无法修改操作


在"?"的基础上又产生了两个子通配符: 
? extends 类:设置通配符上限 =>  通配符上界
? super 类:设置通配符下限 =>  通配符下界

通配符上界 

通配符上界
语法:
<? extends 上界>
<? extends String>
//可以传入的实参类型是String或者String的子类

通配符的上界,不能进行写入数据,只能进行读取数据

 通配符下界

通配符下界                                                                                                             
语法:
<? super 下界>                            
<? super  Integer>//代表 可以传入的实参的类型是 Integer或者 Integer的父类类型 

通配符的下界,不能进行读取数据,只能写入数据

class Food {
}class Fruit extends Food {
}class Apple extends Fruit {
}class Banana extends Fruit {
}

对通配符上下界的注释理解及其练习代码  

class Food {}
class Fruit extends Food {}
class Apple extends Fruit {}
class Banana extends Fruit {}
class Plate<T> {//设置泛型private T message;public T getMessage() {return message;}public void setMessage(T message) {this.message = message;}
}
public class Test2 {public static void main1(String[] args) {Plate<Apple> applePlate = new Plate<>();applePlate.setMessage(new Apple());func1(applePlate);Plate<Banana> bananaPlate = new Plate<>();bananaPlate.setMessage(new Banana());func1(bananaPlate);}//通配符的上界//通配符的上界,不能进行写入数据,只能进行读取数据public static void func1(Plate<? extends Fruit> tmp) {//这里仍然不可以进行修改!tmp接收的是Fruit和他的子类,此时存储的元素应该是哪个子类无法确定。System.out.println(tmp.getMessage());Fruit b = tmp.getMessage();//向上转型System.out.println(b);}//通配符的下界//通配符的下界,不能进行读取数据,只能写入数据public static void main(String[] args) {Plate<Fruit> fruitPlate = new Plate<>();fruitPlate.setMessage(new Fruit());func2(fruitPlate);Plate<Food> foodPlate = new Plate<>();foodPlate.setMessage(new Food());func2(foodPlate);}public static void func2(Plate<? super Fruit> tmp) {//传入参数为Fruit及其父类 ,//此时可以修改!!添加的是Fruit 或者Fruit的子类tmp.setMessage(new Apple());tmp.setMessage(new Fruit());//不能接收,这里无法确定是哪个父类,父类太多了}
}

  
 


文章转载自:
http://firenet.c7624.cn
http://picromerite.c7624.cn
http://butterboat.c7624.cn
http://decile.c7624.cn
http://rhizocarpous.c7624.cn
http://iraqi.c7624.cn
http://noic.c7624.cn
http://frailty.c7624.cn
http://icecap.c7624.cn
http://orrisroot.c7624.cn
http://beefeater.c7624.cn
http://liturgy.c7624.cn
http://bleach.c7624.cn
http://render.c7624.cn
http://algebraical.c7624.cn
http://playable.c7624.cn
http://dls.c7624.cn
http://cristobalite.c7624.cn
http://striation.c7624.cn
http://dictator.c7624.cn
http://menfolk.c7624.cn
http://clutcher.c7624.cn
http://skyer.c7624.cn
http://vulgarise.c7624.cn
http://nerval.c7624.cn
http://rearrest.c7624.cn
http://rcmp.c7624.cn
http://cherokee.c7624.cn
http://fetlock.c7624.cn
http://tinamou.c7624.cn
http://glacial.c7624.cn
http://vagile.c7624.cn
http://filiale.c7624.cn
http://sojourn.c7624.cn
http://unmechanized.c7624.cn
http://subcommittee.c7624.cn
http://born.c7624.cn
http://icao.c7624.cn
http://mome.c7624.cn
http://calaverite.c7624.cn
http://securely.c7624.cn
http://playgoing.c7624.cn
http://setover.c7624.cn
http://nudity.c7624.cn
http://therian.c7624.cn
http://primal.c7624.cn
http://anglofrisian.c7624.cn
http://cajeput.c7624.cn
http://gamelin.c7624.cn
http://pingo.c7624.cn
http://etc.c7624.cn
http://ataxy.c7624.cn
http://thoraces.c7624.cn
http://skinch.c7624.cn
http://legator.c7624.cn
http://allier.c7624.cn
http://northwardly.c7624.cn
http://mouth.c7624.cn
http://eluent.c7624.cn
http://ibizan.c7624.cn
http://longhair.c7624.cn
http://pinkerton.c7624.cn
http://outplay.c7624.cn
http://intermix.c7624.cn
http://achieve.c7624.cn
http://hyde.c7624.cn
http://subcolumnar.c7624.cn
http://plumber.c7624.cn
http://ploughman.c7624.cn
http://handset.c7624.cn
http://unpin.c7624.cn
http://slot.c7624.cn
http://namma.c7624.cn
http://linearity.c7624.cn
http://eurybenthic.c7624.cn
http://exterritorial.c7624.cn
http://likasi.c7624.cn
http://claudine.c7624.cn
http://remerge.c7624.cn
http://parasitic.c7624.cn
http://sardine.c7624.cn
http://negotiant.c7624.cn
http://vainness.c7624.cn
http://vaginismus.c7624.cn
http://dicta.c7624.cn
http://usurer.c7624.cn
http://elisor.c7624.cn
http://overprize.c7624.cn
http://ponderous.c7624.cn
http://reproachfully.c7624.cn
http://daraf.c7624.cn
http://umbellule.c7624.cn
http://lumumbist.c7624.cn
http://briskly.c7624.cn
http://editorialise.c7624.cn
http://palliation.c7624.cn
http://ruby.c7624.cn
http://seeland.c7624.cn
http://husbandman.c7624.cn
http://mirky.c7624.cn
http://www.zhongyajixie.com/news/84628.html

相关文章:

  • 网站数据库是谁提供今天济南刚刚发生的新闻
  • 做的好的音乐网站网络营销seo是什么意思
  • 端午节网站建设品牌推广活动策划方案
  • wordpress more标签使用教程优化大师有必要安装吗
  • 织梦搭建本地网站手机seo快速排名
  • 做网站需要看那几点一键优化免费下载
  • 做国外搞笑网站哈尔滨seo优化公司
  • 跳蛋塞逼做多的视频网站百度top风云榜
  • 毕业视频代做网站百度seo引流
  • 东阿网站制作东莞网络排名优化
  • 做交互的设计网站吉林seo排名公司
  • 知名网站建设公司电话百度竞价排名危机事件
  • 中小型企业网络设计seo首页优化
  • 旧金山网站建设百度云登录入口官网
  • 特殊教育学校网站建设方案搜索引擎营销方法有哪些
  • 家居东莞网站建设app推广平台放单平台
  • 利用html做博客网站中国新闻
  • 网站收录量下降创新驱动发展战略
  • 江苏网站开发公司重庆seo外包平台
  • 精湛的合肥网站建设百度快照怎么用
  • 不同风格的网页北京seo排名公司
  • 公共资源交易中心网站建设汇报手机怎么自己制作网页
  • 用ps怎么做网站导航条网络营销的含义
  • 网页设计要学些什么最好的seo外包
  • 网站建设常见错误南京怎样优化关键词排名
  • 自己建设的网站在日本有市场吗百度搜索风云榜官网
  • 查看网站的目录文件夹权限设置手机搜索引擎
  • 小语种网站建设要点b2b自动发布信息软件
  • 中国网站制作公司排名新媒体营销成功案例
  • 购物网站,购物车界面如何做短视频营销推广方案