Java学习笔记(1)
2016-07-26 16:00
239 查看
从开始学习安卓到工作一年多,发现最近自己变懒了,逆水行舟,不进则退,最近工作上任务不是很重,就花一些时间来写写博客吧,整理一下自己知道的知识,有些东西很多时候以为自己懂了,但是真正去描述的时候往往不知道如何开口,或者怎么表达出你的真正想法。
首先从一些基础的东西开始说起吧,Java泛型的作用以及使用场景。
nnnn分钟之后。。。。
想象一下java中没有泛型的场景,当一个ArrayList没有指定泛型参数时,它可以添加任何元素,即Object类型,当我们往ArrayList里面取出一个元素并进行使用的时候我们需要对其经行类强制转换,那么问题来了,如何能确保你取出的元素类型正确,毕竟这个ArrayList是可以往里面丢任何类型的,所以,泛型的作用之一就定参数化数据类型,增强编译期检测,降低类转换异常的风险,增加了代码的安全性和可读性。
另外一个就是从代码设计角度上考虑了,泛型可以使用在类,接口,方法中,使用泛型可以使代码被不同类型的对象使用。
关于泛型的使用场景,那就多了去了,最常见的就是我们用的集合类了,还有精简重载方法时使用泛型方法,总之只要是你希望将数据类型参数化的地方,就可以用它。我个人经常使用的泛型场景有model的存取(泛型方法),model的系列化(json,gson),适配器基类,设计模板模式的类等。
其实没有真正写这些东西的时候,让我说起泛型,估计我会说的很乱,写完这些东西后就感觉清晰多了。毕竟写这些我东西的时候也要去看看别人写的,本文主要参考http://blog.csdn.net/lonelyroamer/article/details/7864531
首先从一些基础的东西开始说起吧,Java泛型的作用以及使用场景。
nnnn分钟之后。。。。
想象一下java中没有泛型的场景,当一个ArrayList没有指定泛型参数时,它可以添加任何元素,即Object类型,当我们往ArrayList里面取出一个元素并进行使用的时候我们需要对其经行类强制转换,那么问题来了,如何能确保你取出的元素类型正确,毕竟这个ArrayList是可以往里面丢任何类型的,所以,泛型的作用之一就定参数化数据类型,增强编译期检测,降低类转换异常的风险,增加了代码的安全性和可读性。
另外一个就是从代码设计角度上考虑了,泛型可以使用在类,接口,方法中,使用泛型可以使代码被不同类型的对象使用。
关于泛型的使用场景,那就多了去了,最常见的就是我们用的集合类了,还有精简重载方法时使用泛型方法,总之只要是你希望将数据类型参数化的地方,就可以用它。我个人经常使用的泛型场景有model的存取(泛型方法),model的系列化(json,gson),适配器基类,设计模板模式的类等。
其实没有真正写这些东西的时候,让我说起泛型,估计我会说的很乱,写完这些东西后就感觉清晰多了。毕竟写这些我东西的时候也要去看看别人写的,本文主要参考http://blog.csdn.net/lonelyroamer/article/details/7864531
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序