- 博客(19)
- 收藏
- 关注
原创 属性集,函数式接口,Stream流,方法引用,随机访问文件类
属性集Properties 仅支持String类型的属性映射 函数式接口 Supplier: 生产者 T get();获得一个对象 Consumer: 消费者 void accept(T t); 使用这个对象 默认方法 - andThen(Consumer)将两个消费方式组合在一块 Predicate: 对对象做判断 boolean test(T t); 默认方法 - or(||);and(&&);negate(!) Function<T, R>: 类型转换 R apply(T
2020-08-06 21:09:31
258
原创 文件操作
File 构造方法 new File(String 文件路径) new File(String 父路径, String 子路径) API createNewFile():以此File路径创建一个文件 delete():删除此文件或空目录 exists():判断该文件是否纯在 getAbsoluteFile():获得绝对路径 getCanonicalPath():获得绝对路径的字符串形式 getName():获得文件名 getPath():获得文件名的字符串形式 isDirectory():判断是否为目录 i
2020-08-03 20:43:21
249
原创 多线程任务
实现方式 1.自定义线程类 extends Thread 重写 run 方法 创建自定义的线程对象 开启线程 start() 2.自定义一个任务类 implements Runnable 重写 run 方法 创建自定义的任务对象 通过任务对象, 构造一个线程对象 开启线程 start() 3.匿名内部类 上述两种方法的匿名内部类 构造方法 1.new 自定义线程类(): 自定义类的构造方法, 随意 2.new Thread(): 无参构造器 3.new Thread(String): String->
2020-07-30 19:57:27
371
原创 异常Exception
Error eg.StackOverError(栈溢出错误) 存在与内存相关的严重问题,必须解决。 Exception 分类 1.RuntimeException 运行时异常: ArrayIndexOutBoundsException(数组下标越界异常) ClassCastException(类型转换异常) NullPointerException(空指针异常) 2.Exception已检查异常 ParseException IOException UnsupportedEncodingException
2020-07-28 20:57:47
105
原创 Set、Map
Set HashSet 散列表,元素不允许重复。 排序方式不是随机排序 原理:需要通过hashCode生成的哈希码定位,若位置上为null,则直接插入元素,反之使用equals方法与之比较,结果为不相同时插入元素。 SortedSet(父接口)/TreeSet 二叉树 其比较方法使用的是Comparable(compareTo)或者Comparator(compare) Map HashMap API put(K,V):修改或加入键值对,返回被修改的value remove(K):移除key为K的键值对,返
2020-07-28 20:36:39
75
原创 字符序列,泛型,数据类型
字符序列 JVM中1个字符(char) = 2个byte Unicode 操作系统 windows:GBK->GB2312 Linux:UTF-8 ISO8859-1 UTF-8: 1char = 3byte gbk: 1char = 2byte API:(解决乱码问题) byte[] getBytes();:根据默认字符集来编码 new String(bs);:按照默认字符集解码 byte[] getBytes(“charset”):按照指定字符集编码 new String(bs1, “gbk”)
2020-07-27 20:34:07
167
2
原创 工具类
java.util.Arrays: 数组相关工具类 toString() 打印数组内容 sort(arr) 数组排序 copyOf() 数组复制 asList(arr) List 将数组转换成集合 java.util.Collections: 集合相关的工具类 java.lang.Comparable:接口, 可比较的 int compareTo(T t) 将此对象与指定的对象进行比较以进行排序。 Collections.sort(list) 给List排序, 所有元素必须是可比较的 Collections
2020-07-27 20:30:01
77
原创 Object,Date,Calendar的API
Object getClass() 对象调用该方法,可以获得对象对应的类的字节码对象 eg:“abc”.getClass() 可以获得字符串String的字节码对象。 clone() 复制一份全新的, 属性内容一致的对象 这称之为:深克隆 如果复制的是引用:浅克隆 调用方法的对象, 需要实现Cloneable接口的实现类。 wait()及其两个方法重载notify(),notifyAll() finalize() GC: 垃圾回收机制, 定时清理内存中 栈:方法结束, 方法栈直接释放 堆:无效对象, 等待
2020-07-22 19:57:50
91
原创 多态,内部类
多态 多态的前提: class MyInterfaceAImpl extends Object implmenets MyInterfaceA MyInterfaceA a = new MyInterfaceAImpl() -> 向上造型 Object o = new MyInterfaceAImpl() -> 向上造型 父类型引用 指向 子类型对象 -> 向上造型 父类型 a = new 子类型对象(); Fu fu = new Zi(); 接口类型 a = new 实现类对象(); I
2020-07-16 20:38:17
93
原创 修饰符,接口
访问控制符/权限修饰符 修饰: 类, [静态]成员变量, [静态]成员方法, 构造方法 public: 公开的, 公共的 protected: 受保护的 (default): 默认的, 不加default关键字, 不写任何内容 private: 私有的 权限范围由大到小: public->protected->default->private default: 不常用, 练习时为了省略代码 public : 想要提供给其他类使用的成员 protected: 想要给子类继承的成员 priva
2020-07-16 19:14:54
203
原创 类.集合、父类和子类
ArrayList 所属软件包: java.util 作用 数组长度不可变, 数组如果要扩容, 需要用到数组的复制 为了解决数组长度不可变的问题, 可以实现数组长度动态变化 支持类型 引用类型 基本数据类型都有对应的引用类型 int 为 Integer char 为 Character (其他基本数据类型都为首字母大写) 例如: byte 为 Byte boolean 为 Boolean 构造方法 空参构造器: 没有内容的空的集合 ArrayList < E > arrList = new Ar
2020-07-13 20:53:30
646
原创 Java基础的常用类
Random(随机数) int nextInt() 产生一个随机整数 int nextInt(int n) 产生一个0~n的随机数 String(字符串) 1 直接赋值的字符串, 都存在字符串常量池中(优化) 2 字符串的本身不可变 3 字符串不能用 == 来比较(地址,变量存在时都不相等) 构造方法 1 String s = “hello”; 基本方法 2 String() 无参构造方法:空字符串 3 String(String) 有参构造方法 4 String(char
2020-07-13 16:38:26
144
原创 排序、类和对象
排序 选择排序 每一个循环从待排序的数据中选出最小 / 最大的,顺序放在已排好序的序列最后,直到全部记录排序完毕。 冒泡排序 每一轮比较相邻两个元素, 小的放前面, 大的放后面 插入排序 将数组分为两部分, 一部分为排序好的, 另一部分逐个比较前一部分, 插入到前一部分合适的位置。 类和对象 类即类型,所有同种对象共同的特征和行为, 抽象出来成为类 符合类的特征的独立个体 class: 类/类型 和int功能一样 创建一个类 一切皆对象, Java操作的基本单位就是对象 类的命名规则:驼峰命名法, 首字母大
2020-07-09 19:54:44
119
原创 Java的数组及方法
数组: 引用数据类型 初始化的三种方法: in[] a1 = {1,2,3,4}; 不可再次赋值 int[] a2 = new int[]{1,2,3,4,5} 可再次赋值 int[] a3 = new int[5]; 方法3 其默认值为整形 = 0 浮点 = 0.00 字符串 = \u0000 布尔 = false a1.length 数组长度的计算 JVM内存空间: 方法区: 存储类相关的信息 栈: 临时变量, 局部变量 堆: 引用类型的真正数据, 对象 类加载: 将字节码(class文件)中的类信
2020-07-08 19:00:30
100
原创 Java的流程控制语句
逻辑控制语句 1.顺序结构 2.分支结构 if 如果xxx else if 否则 如果xxx else 否则xxx switch(变量) case 1:xxx 3.循环结构 for(;;) while(){ } 当xxxx 就xxx do{ }while() continue 结束该次当前循环,进行下次当前循环。 等级:JavaSE JavaEE JavaME IDE: 集成开发工具 java\javac\javadoc\jar… 1.Eclipse:I
2020-07-07 20:59:32
155
原创 Java入门及变量
Java发展历史 Java之父:詹姆斯•高斯林。 1991年,在Sun公司工作期间,高斯林和一群技术人员创建了一个名为Oak的项目,旨在开发运行于虚拟机的编程语言,同时允许程序在电视机机顶盒等多平台上运行。后来,这项工作就演变为Java。随着互联网的普及,尤其是网景开发的网页浏览器的面世,Java成为全球流行的开发语言。因此被人称作Java之父。 Java百度百科: 1991年Sun公司为了抢占单片机智能化市场先机,成立了Green项目小组,该小组在解决单片机系统编程问题时,对C++进行了改造,开发了一种称
2020-07-07 20:55:35
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人