Java
crystal---
心之所向,素履以往。
生如逆旅,一苇以航。
展开
-
Java---集合类
集合:存放数据的一个容器。数组:长度固定集合类:长度可变,长度随元素的增加而增加 可存储任意对象数组和集合的区别:数组存放基本数据类型和引用类型;集合中只存放引用类型,若放基本数据类型,会自动装箱成引用类型。 数组长度固定,不能再去增长;集合长度可变,随元素的增加而增加。什么时候使用数组:若元素个数固定,推荐使用数组。集合继承体系:Collection(接口)...原创 2018-09-01 21:04:03 · 90 阅读 · 0 评论 -
ArrayList去除自定义对象重复元素
package arrayDemo;import java.util.ArrayList;import java.util.ListIterator;//去除重复元素(自定义对象)class Student{ String name; int age; Student(String name, int age){ this.name = name; this.age =...原创 2018-09-08 15:37:21 · 236 阅读 · 0 评论 -
Map
HashMap和HashTable的共同点:使用的是哈希算法 使用双列集合不同点:HashMap线程不安全,效率更高,1.2版本后才有;HashTable线程安全,效率不高,1.0版本后有 HashMap可以存储null;HashTable不能添加元素:map.put修改元素:map.put取得集合大小:map.size()取得所有key值:map.keySet()...原创 2018-09-23 17:09:14 · 82 阅读 · 0 评论 -
用HashMap统计一个字符串中每个字符出现的次数
package set;import java.util.HashMap;import java.util.TreeMap;public class TreeMapDemo { public static void main(String[] args) { //统计一个字符串中每个字符出现的次数 String str = "aaabbccm"; //1.字符串转数组 ...原创 2018-09-23 17:14:00 · 3815 阅读 · 0 评论 -
字符串去重
package set;import java.util.Arrays;import java.util.LinkedHashSet;import java.util.Scanner;//字符串去重//aaabbbccc->abcpublic class DelString { @SuppressWarnings("resource") public static v...原创 2018-09-22 18:02:58 · 241 阅读 · 0 评论 -
获取1-20之间不重复的10个随机数
package set;import java.util.HashSet;import java.util.Random;//获取1-20之间的不重复的10个随机数public class RandomNum { public static void main(String[] args) { //1.random生成随机数 Random r = new Random()...原创 2018-09-22 18:03:52 · 2196 阅读 · 0 评论 -
获取字节码 创建对象
package code;import java.lang.reflect.Constructor;public class CodeDemo { public static void main(String[] args) throws Exception { //1.通过字节码创建对象 Class clazz = Class.forName("code.Person");/...原创 2018-10-06 18:49:21 · 1058 阅读 · 0 评论 -
通过反射绕过集合范型检测
package code;import java.lang.reflect.Method;import java.util.ArrayList;//通过反射绕过集合范型检测public class Test { public static void main(String[] args) throws Exception { ArrayList<Integer> l...原创 2018-10-06 22:27:30 · 146 阅读 · 0 评论 -
解决java中文乱码问题
tomcat默认支持ISO8859-1的编码格式解析,不支持中文,无法解析汉字。如果要写入汉字,需要重新设置字符集编码为UTF-8的形式。出现的情况:Java web下载文件,文件名乱码:浏览器在获取文件名称name时,默认对传过来的参数文件名使用ISO8859-1进行解析,因为这种编码方法不支持中文,所以会出现中文乱码。 servlet跳转出现中文乱码解决方法:1、将编码先转...原创 2018-11-02 17:20:08 · 895 阅读 · 1 评论 -
Java---日期工具类(字符串和日期间的转换)
package test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil { //设置为常量,提高可扩展性 private static final String DEFAULT_PATTERN = "yyyy...原创 2018-09-01 19:58:42 · 1978 阅读 · 0 评论 -
java实现5位验证码
方法1:String res = UUID.randomUUID().toString();res = res.substring(0, 5);System.out.println(res);方法2:String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";str=str.toLowerCase();str += "1234567890"; ...原创 2018-09-01 13:26:06 · 754 阅读 · 0 评论 -
基本数据类型值传递
package test;public class data { static void change (int x){ System.out.println("1.x="+x); x=100; System.out.println("2.x="+x); } public static void main(String[] args) { int x=20; cha...原创 2018-08-25 16:55:50 · 762 阅读 · 0 评论 -
static
特点:static修饰的内容,随着类的加载而加载。 当JVM把字节码加载到虚拟机中时,static修饰的成员会自动加载到内存中(方法区) static修饰的内容,优先于对象的存在 static修饰的内容,被该类型的所有对象共享 可以直接使用类名调用访问可以通过对象调用静态成员,其本质是通过类名调用静态成员。User user2=new User("yunuu",21);Sys...原创 2018-08-26 11:48:35 · 118 阅读 · 0 评论 -
单例设计模式---饿汉模式
package test;//单例设计模式class singleDesgin{ //1.必须要在该类中创建一个对象 private static singleDesgin instance = new singleDesgin(); //2.私有化构造器,防止外界通过构造器创建新的对象 private singleDesgin(){} //3.给外界一...原创 2018-08-27 09:45:25 · 88 阅读 · 0 评论 -
包装类valueof缓存设计
//比较的是地址,每new一次,都会创建一个新的地址Integer i = new Integer(10);Integer i2 = new Integer(10);System.out.println(i==i2); //包装类中的缓存设计Integer i3 = Integer.valueOf(123);Integer i4 = Integer.valueOf(123);S...原创 2018-08-27 13:36:01 · 219 阅读 · 0 评论 -
Java---抽象
抽象方法:抽象方法没有方法体(没有大括号{}) 抽象方法必须要定义在抽象类中 子类必须要覆盖抽象方法 抽象方法不能是私有,不能使用final和static抽象类:抽象类必须要有子类 不能直接创建对象(因为没有方法体) 抽象类中可以有抽象方法,也可以没有非抽象方法 子类没有覆盖抽象方法,把子类也变成抽象类 构造方法不能定义为私有private(抽象类必须要在子类继承之后才能实...原创 2018-08-27 14:29:39 · 263 阅读 · 0 评论 -
接口
interface Iwalkable{ public abstract void walk();}interface Iswimable{ void swim();//相当于public abstract void swim();}//接口的继承interface Iampable extends Iwalkable,Iswimable{}class Animal{...原创 2018-08-27 15:42:44 · 127 阅读 · 0 评论 -
内部类
1、定义:定义在类中的一个类2、使用原因:增强封装,内部类隐藏在外部类中,不允许其他累访问 增加代码维护性 可以直接访问外部类中的成员3、内部类划分:实例内部类:类前没有修饰符 静态内部类:内部类前加static 局部内部类:定义在方法中的内部类 匿名内部类:属于局部内部类的一种特殊情况外部类的修饰符只能有2个:public或默认修饰;内部类的修饰符可以任意使用。...原创 2018-08-30 17:58:24 · 76 阅读 · 0 评论 -
枚举类
enum Day{ MONDAY,TUESDAY,WENDESDAY,THURSDAY,FRIDAY,SATERDAY,SUNDAY}枚举是一个特殊的类定义:[修饰符] enum 枚举名称{ 变量1,变量2......}编译时将构造器私有化,就不能直接创建对象了枚举可用在switch中enum Sex{ MAN,FEMALE}publi...原创 2018-08-30 21:39:28 · 108 阅读 · 0 评论 -
Java--判断字符串是否为空
static boolean hasLength1(String str){ if(str != null && !"".equals(str.trim())){ return true; } return false; }优化后static boolean hasLength2(String str){ return (str != null ...原创 2018-08-31 21:53:56 · 116 阅读 · 0 评论 -
JVM内存划分
Java文件运行时在JVM上运算。JVM将内存主要分为五个部分:方法区(静态区):存放所有class和static变量 虚拟机栈:执行一个方法时就创建对应一个栈帧(存放该方法的成员变量),方法执行时,栈帧入栈。方法执行完毕后,栈帧出栈。当栈中栈帧全都出栈后,程序结束。栈中变量必须进行初始化。 本地方法区 堆:被所有线程共享的一块区域。JVM启动时,自动创建堆。堆中主要存放创建的对象和...原创 2018-08-25 16:27:18 · 89 阅读 · 0 评论 -
构造器
package test;public class data { String name; void show(){ System.out.println("my name is "+name); } public static void main(String[] args) { data da=new data(); //此处实例化时创建data的构造器。创建对...原创 2018-08-26 11:09:14 · 96 阅读 · 0 评论