10 2017 档案
摘要:java中拥有大量的其他方式,可以用于持有对象,但是数组与其他容器最大的区别就是: 效率 在java中数组是效率最高的存储和随机访问对象引用序列的方式。 类型 数组可以持有基本类型,但是使用泛型之前的容器不能。在使用泛型之前,其他容器在处理对象的时候,都将它们视作根类object处理。在创建一个数组
阅读全文
摘要:直接代码分析一波: 这里的c1 c2 c3 c4将分别得到Double、Integer、ArrayList<String>、ArrayList<Integer>的类,输出是: c1 == c2很明显是不一样的,这里的ArrayList<String>和ArrayList<Integer>很容易认为是
阅读全文
摘要:1、简单泛型 使用Object:因为Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。所以所有的类都能转型为Object类。 这里的f()函数可以处理三种类型的对象,list也可以存放三种类型的对象,但是其实他们都是处理或者储存的先转型为Object类型的对象。 输出: 通常
阅读全文
摘要:如果不知道某个对象的确切类型,RTTI会告诉我们,但是有一个限制:这个类型在编译时必须已知,这样才能使用RTTI识别它,并利用这些信息做一些有用的事情。 2.什么情况下需要反射 假设你获取了一个指向某个并不在你的程序空间的对象的引用;或者,你从磁盘文件,或者网络连接中获取了一串字节,并且你被告知这些
阅读全文
摘要:1、Class对象 Class对象是一个特殊的对象,它包含了与类有关的信息。Class对象就是用来创建类的所有常规对象的。 类是程序的一部分,每个类都有一个Class对象,每当编写并且编译一个新类,就会产生一个Class对象。为了生成这个对象,运行这个程序的Java虚拟机(JVM)的使用被称为 类加
阅读全文
摘要:1、不可变的String String对象是不可变的。String类中的每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改修改后的字符串内容。 输出为: upcase返回的是toUpperCase()方法的结果,这个方法是使String对象的字母全部大写,
阅读全文
摘要:Throwable这个java类被用来表示任何可以作为异常被抛出的类,Throwable可以分为两种类型,Error用来表示编译时和系统错误,Exception是可以被抛出的基本类型。 1、RuntimeException 输出结果: 一般的异常都需要这样处理, RuntimeException就不
阅读全文
摘要:1、java提供的异常不可能预见所有的问题,所以需要自己定义异常类,必须从已有的异常类继承,最好选择意思相近的异常类继承。 try块中的代码将被监控,catch将会接受来自try块的异常。这里的f()方法将会抛出一个 MyException类的异常,然后catch将会接收到这个异常,并输出caugh
阅读全文
摘要:1、容器的打印 import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import j
阅读全文
摘要:可以将一个类的定义放在另一个类的 定义内部,这就是内部类。 1、使用.this和.new 如果需要生成对外部类对象的引用,就可以使用外部类的名字后面紧跟着.this 一个Inn类中有一个print()方法,一个内部类F1,一个会返回F1对象的f1()方法, F1类中有一个将返回Inn对象的dothi
阅读全文
摘要:上次的功能完成了英雄名字、id、头像的下载并使用RecyclerView展示, 所以接下来就是点击每个英雄的caraview就能打开下一个活动进行英雄的介绍。先打开暴雪的官网查看有那些技能、故事、图片可供下载。首先是http://ow.blizzard.cn/heroes/ 如果我想要看源氏的详细介
阅读全文
摘要:首先是简单的朴素匹配算法 举例说明: s是 abcabcabd t是 abcabd,朴素的匹配算法每次发现不对都要重新回到上次匹配的首位,也就是要重新在s从找一次t的和第一个字符匹配的字符。 但是像这个例子t字符串中一开始就有ab后面也有ab,也就是说如果匹配到最后一位发现不匹配的时候,就可以直接进
阅读全文
摘要:这次的这个demo想要实现一个后台下载文件的功能,下载的时候会有一个告知进度的通知, 使用的依赖库就一个: 大体思路是创建一个AsyncTask运行在Service中,然后活动和Service进行通信,实现开始、暂停、取消下载的功能 所以先创建一个接口: 然后是下载这个行为的AsyncTask,As
阅读全文
摘要:这个app就是从守望先锋的官网下载相关的图片、文字、视频然后展示出来。 第一个功能是英雄介绍,所以先分析一波官网的数据.守望先锋的英雄数据的官方网站是http://ow.blizzard.cn/heroes/, 这个页面有英雄的头像和名字,如果想要看英雄的详细介绍点击英雄框就行,点击第一个英雄跳转的
阅读全文
摘要:Tabs make it easy to explore and switch between different views. 通过TabLayout可以在一个活动中通过滑动或者点击切换到不同的页面 首先这个是google的Material Design中的控件所以使用前需要先添加依赖库 具体使用
阅读全文