![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 85
青藤光年
这个作者很懒,什么都没留下…
展开
-
Java泛型
为什么要使用泛型?先来看一段代码@Test public void test1(){ List list = new ArrayList(); list.add(123); list.add(456); list.add(789); list.add("AA"); Iterator it = list.listIterator(); while(it.hasN原创 2017-12-19 18:12:34 · 187 阅读 · 0 评论 -
Java包装类
为什么有了基本类型还要有包装类型?Java是一个面相对象的编程语言,但基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。比如,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的原创 2017-12-11 17:29:24 · 333 阅读 · 0 评论 -
Java的多态
多态的基础知识1.什么是多态 Programmer pro = new English(); 创建一个子类对象,赋给父类的引用变量,通过父类的引用调用方法时,如果子类重写了,调用的是子类的 子类不同,输出结果不同,多种形态 多态只和方法有关,和属性无关 Programmer pro = new English(); 编译的类型原创 2017-12-16 16:27:21 · 293 阅读 · 0 评论 -
Java注释及其规范
Java具有三种注释: 1.单行注释 使用场景:类的属性,方法中代码的注释 1.使用在类的属性上public class Book { private String bookName;//图书名称 private String author;//图书作者} 2.使用在方法中对代码进行解释public void sho原创 2017-12-07 16:42:03 · 526 阅读 · 0 评论 -
Java集合之一集合简介
开发中少不了对数据的存储操作,我们可以使用以下两种方式对数据进行存储。①数组 数组是在内存中连续存储数据,我们可以通过下标快速查找数据。数组适合元素个数固定,只对元素做查找操作的情况下。如果我们需要对数组元素进行频繁的删除、插入操作,数组的性能就比较低了,因为每当删除或插入一个元素,数组都要对其余元素进行大量的移动操作。 数组有如下弊端:①数组的元素个数原创 2017-12-17 15:24:18 · 263 阅读 · 0 评论 -
Java集合之二Collection接口
Collection 接口是 List、Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。在jdk中,Collection接口中有如下抽象方法:①add(E e):像集合中添加一个元素,添加成功返回true,添加失败返回false@Test public void testAdd(){ Colle原创 2017-12-17 17:05:11 · 253 阅读 · 0 评论 -
Java集合之四Set、HashSet、LinkedHashSet、TreeSet
SetSet接口是Collection的子接口,set接口没有提供额外的方法。Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败。Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法。Set集合是如何判断两个元素是否相等的?是通过对象的hashCode()方法和equals()方法判断的。所以建议自原创 2017-12-17 20:41:58 · 408 阅读 · 0 评论 -
Java集合之三List接口及其实现类ArrayList、LinkedList、Vector
ListList是一个接口,List集合中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引,可以根据序号存取容器中的元素。List接口的实现类常用的有:ArrayList、LinkedList和Vector。List接口除了继承自Collection接口的方法外,还另外定义了一些根据索引来操作集合的方法①void add(int index, Object ele):从指定索引原创 2017-12-17 19:34:09 · 650 阅读 · 0 评论 -
Java集合之六Collections工具类
Collections 是一个操作Set、List 和 Map 等集合的工具类。Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。reverse(List):反转 List 中元素的顺序shuffle(List):对 List集合元素进行随机排序sort(List):根据元素的自然顺序对原创 2017-12-18 18:13:28 · 232 阅读 · 0 评论 -
Java集合之七Comparable和Comparator的区别
ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现,compareTo方法也被称为自然比较方法。如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话,原创 2017-12-18 18:20:35 · 319 阅读 · 0 评论 -
Java集合之五Map、HashMap、LinkedHashMap、TreeMap、Properties
MapMap用于保存具有映射关系(Key-Value)的数据, key 和 value都可以是任何引用类型的数据,我们常用String类型来做Key值。Map 中的 key 用Set来存放,不允许重复,允许有一个null值的key,即同一个Map对象所对应的类,须重写hashCode()和equals()方法。key 和 value之间存在单向一对一关系,即通过指定的key总能找到唯原创 2017-12-18 17:08:33 · 373 阅读 · 0 评论 -
Java反射机制
什么是反射?Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。主要实现通过反射机制我们可以实现以下功能:①在运行时判断任意一个对象所属的类②在运行时构造任意一个类的对象③在运行时判断任意一个类所具有的成员变量和方法④在运行时调用任意一个对象的原创 2017-12-28 11:39:35 · 251 阅读 · 0 评论 -
使用apk-parser解析apk包
项目里需要用java代码解析出apk包的版本号、版本名称等信息,一开始用的AXmlResourceParser工具解析的,结果发现解析出错java.lang.ArrayIndexOutOfBoundsException: 128 at android.content.res.StringBlock.getShort(StringBlock.java:231) at and...原创 2018-03-21 14:37:16 · 9720 阅读 · 1 评论 -
eclipse通过类名搜索源码的快捷键
ctrl+shift+t ,如下所示输入源码的类名就可以了。原创 2018-08-09 18:10:49 · 2251 阅读 · 0 评论 -
Java内部类
什么是内部类?在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类。内部类是编译时的概念,编译成功后,内部类和它的外部类将是两个不同的类(它们之间还是有联系的)。编译成功后会出现这样两个文件:OuterClass.class和OuterClass&InnterClass.class。内部类的共转载 2017-12-16 13:56:17 · 208 阅读 · 0 评论 -
Java的Object类
转载自点击打开链接sJava语言不同于C++语言,是一种单根继承结构语言,也就是说,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。object类的结构 如图可知,Object类有12个成员方法,按照用途可以分为以下几种 1,构造函数 2,hashCode和equale函数用来判断对象是否相同, 3,wait(),wait(long),wa转载 2017-12-07 22:47:27 · 216 阅读 · 0 评论 -
java命名规范
一、命名规范1、 项目名全部小写2、 包名全部小写3、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写,即使用驼峰命名法。4、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写,即使用驼峰命名法。5、 常量名全部大写,如果由多个单词组成,建议不同的单词之间使用下划线连接。6、所有命名规则必须遵循以下规则:1)、名称只能由字母、...原创 2017-11-28 13:26:01 · 229 阅读 · 0 评论 -
Java异常处理机制
Java异常处理机制Java已经提供了异常处理机制,发生异常后,会给出异常类型、异常提示信息、异常的位置等。但这样有一个缺点,就是出现异常后,后续代码不执行了;提示信息太专业,可读性差。所以我们使用两种解决办法来处理异常:try-catch捕获异常和throws抛出异常,让方法的调用者处理。异常分类异常处理try-catch情况1:try块中代码没有出现异常不执原创 2017-12-11 14:05:13 · 442 阅读 · 0 评论 -
Java枚举
什么是枚举?枚举是一个存放固定常量的集合。它规范了内部参数的形式,我们只能使用它规范了的参数,比如集合A={1,2,3} 是一个枚举类,则我们只能使用1,2,3这三个值。在jdk1.5之前我们需要自定义类实现枚举的效果。/* * 自定义季节枚举类 */public class Season { //枚举类的属性值不能被修改,必须定义为private final的 p原创 2017-12-20 10:26:54 · 298 阅读 · 0 评论 -
Java注解Annotation
什么是注解?从 JDK5.0 开始,Java 增加了对元数据(MetaData) 的支持, 也就是 Annotation(注解)。Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理. 通过使用 Annotation,程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息.。Annotation 可以像修饰符一样被使用原创 2017-12-20 12:30:08 · 266 阅读 · 0 评论 -
初识java
注:本人最近在复习整理java开发相关的知识,做java开发两年多的时间了,接触了很多东西,最近考虑整理下来供自己也可以供大家参考,希望大家共同进步。博客会不定时更新补充。java是一门静态面向对象编程语言,也可以说是一个完整的平台,java有一个庞大的库,其中还包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。java不仅吸收了C++语言的各种优点原创 2017-11-27 19:52:32 · 581 阅读 · 0 评论 -
java基础的一些雷区
一、关于基本类型 1.long类型和float类型赋值时建议使用大写字母的后缀,即long a=100L,float b=0.1F。 2.对float和double类型的数值进行运算会出现精度丢失问题,比如 double result=1.0-0.9,它的结果并不是0.1而是0.09999999999999998,所以建议涉及到浮点数运算时使用BigDecimal原创 2017-11-28 15:41:35 · 322 阅读 · 0 评论 -
Java变量,形参,实参
成员变量成员变量定义在类中,在整个类中都可以被访问。成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中,类成员变量也叫静态变量,存在于静态域内。成员变量有默认初始化值。成员变量的权限修饰符可以根据需要,选择任意一个。局部变量局部变量只定义在局部范围内,如:方法的形参,方法内的变量,代码块内的变量等。局部变量存在于栈内存中。作用的范围结束,原创 2017-12-14 21:03:37 · 1093 阅读 · 0 评论 -
Java创建子类对象时的内存分配
定义一个父类public class Animal { private String color; public String getColor() { return color; } public void setColor(String color) { this.color = color; } }定义一个子类public class D原创 2017-12-07 18:24:16 · 1357 阅读 · 0 评论 -
Java字符串内存分配
原创 2017-12-12 13:51:20 · 279 阅读 · 0 评论 -
Java代码块
1.局部代码块 局部代码块位于方法中,每个方法中可以有多个局部方法块,按顺序执行,方法块中定义的变量作用范围只在当前代码块。2.成员代码块 成员代码块位于类中,每个类中可以存在多个成员代码块,按顺序执行,执行顺序优先于构造方法,并且每new一次对象都会执行一次成员代码块。 成员代码块可以对类的属性初始化,但使用率较低。原创 2017-12-14 20:18:17 · 190 阅读 · 0 评论 -
this关键字、super关键字、static关键字、final关键字
this的作用: this表示的是当前对象本身,更准确地说,this代表当前对象的一个引用。普通方法中使用this。区分类成员属性和方法的形参.调用当前对象的其他方法(可以省略)位置:任意构造方法中使用this。使用this来调用其它构造方法位置:必须是第一条语句this不能用于static方法。在类中,用static声明的成员变量为静态成员变量 ,原创 2017-12-09 21:49:50 · 435 阅读 · 1 评论 -
Java抽象类
什么是抽象类?随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。abstract关键字abstract修饰类 Java定义由abstract关键字修饰的类叫抽象类, 抽象类可以有构造方法,成员变量,方法等,它和普通类原创 2017-12-15 17:08:55 · 208 阅读 · 0 评论 -
Java接口
什么是接口? 由interface关键字声明,从本质上说,接口是一种特殊的抽象类,他只有抽象的方法和常量,不能实例化,需要子类来实现。接口的特点:用interface来定义。接口中的所有成员变量都默认是由public static final修饰的。接口中的所有方法都默认是由public abstract修饰的。接口没有构造器。接口间采用多继承机制接口需要原创 2017-12-15 18:07:05 · 278 阅读 · 1 评论 -
使用IE浏览器下载文件,文件名乱码问题
实现文件下载功能时,使用IE下载出现文件名乱码不能通过以下方式判断了if (req.getHeader("user-agent").toLowerCase().contains("msie")) { // IE filename = URLEncoder.encode(filename, "UTF-8"); } else { // 非I...转载 2018-08-06 13:31:35 · 1256 阅读 · 0 评论