南昌房产网官方网站,wordpress 文章列表顺序,做网站去什么公司好,南昌营销网站开发常用类 学一个类#xff0c;先搞清楚继承关系#xff0c;再看源码 包装类Wrapper jdk5之前是手动装箱拆箱 jdk5及之后是自动装箱拆箱#xff08;调用valueOf方法#xff08;自动默认#xff09;/创建对象的构造方法#xff0c;XXXvalue方法…常用类 学一个类先搞清楚继承关系再看源码 包装类Wrapper jdk5之前是手动装箱拆箱 jdk5及之后是自动装箱拆箱调用valueOf方法自动默认/创建对象的构造方法XXXvalue方法 直接赋值就是自动拆装箱编译器会自动补全 调用valueOf的方法 在对象数组里与jvm字节码的后直接跟小值无关 自动拆装箱是与自身的包装类有关的不是随便就可以比如object otrue是不行的 继承关系 父类是NumbeerBoolean与character不是父类是object 实现了Comparable接口可比较的Serializable接口代表可以串行化就可以网络传输 源码 valueOf源码可以看到是从一个cache数组中直接取或创建一个对象【面试题重点类加载时-128-127数组就创建赋值好了】 常用方法 Integer.MIN_VALUE返回最小值 Integer.MAX_VALUE返回最大值 Character.isDgit(字符) 判断是不是数字 Character.isLetter(字符) 判断是不是字符 Character.isUpperCase(字符) 判断是不是大写 Character.isLowerCase(字符) 判断是不是小写 Character.ToUpperCase(字符) 转为大写 Character.ToLowerCase(字符) 转为小写 Character.isWriteSpace(字符) 判断是不是空格 包装类-》String 1 “” 2 包装类的toString方法基本练习自动转包装类包装类点toString方法 3 String类的valueOf方法静态方法参数接收对象 String-》包装类 1 包装类的parseXXX方法 此方法是把string的每一个char取出判断是不是数字然后转为int 2 直接new参数传String String 字符串字符采用Unicode编码也就是char占2字节不论是字母还是汉字 继承关系 父类是object 实现了Comparable接口Serializable接口charSequence接口 源码 构造器参数空参字符串常量char数组可有索引byte数组网络编程 String 是final类不能被继承 源码看到底层是char/byte数组value[] value[]是final一旦创建不能修改地址不能修改字符串对象不能改否则不是一个了而不里面的字符不能修改 创建方式 1 直接赋值 先看常量池中有没有有引用直接指向没有常量池创建后引用指向最终引用都是指向常量池 2 构造器创建 【相当于 用String对象包了一层】 先在堆中创建空间【引用指向堆】堆中的空间有value属性其查看常量池有value直接指向没有常量池创建指向 但是注意String类的equals方法是比较value数组的所以为真注意equals到底是object还是string 就是比较地址了是false 调用intern方法时如果对象equals方法 常量池中某对象返回值是常量池地址 否则将其加入常量池返回常量池地址 字符串相加【面试题】 string常量相加 常量池常量对象有编译器优化的 string变量相加 创建一个空的StringBuilder对象-》调用其append方法到最后-》调用toString方法new一个String对象返回 所以相加返回的相对于是new构造器创建的对象string堆中value指向常量池 常用方法 equals方法 不忽略 equalsIgnoreCase 忽略大小写 length 方法 返回长度int indexOf 方法 返回字符/字符串的最先索引 源码是KMP lastIndexOf方法 返回字符/字符串的最后索引 源码是KMP subString 截取字符串返回string 左闭右开 trim 去前后空格返回string ChatAt 获取索引字符不能用Str[index]获取 toUpperCase 转大写 toLowerCase 转小写 concat 拼接就是号 replace 返回值是替换字符串替换所有对于其本身没有影响 split 返回字符串数组对于地址符等特殊字符字符串分割时需要加入转义符\ compareTo 一个个字符比返回前-后的ASCII码前者大返回正数后者大返回负数 比到没得比返回 让前面字符串总长度-后面字符串总长度 toCharArray 转为字符数组 format 格式化字符串 %s表示字符串 %c字符 %d整型 %.2f浮点型保留小数点后2位四舍五入 返回格式好的字符串第一个参数是带占位符的string,后面变量替换占位符 c语言形式但是c语言不是四舍五入 StringBuffer 代表可变的字符序列buffer代表缓冲区 java.lang.StringBuffer 是一个容器线程安全 继承关系 父类是AbstractStringBuffer父类实现了charSequence接口Appendable接口再父类是object类 实现了Serializable接口charSequence接口 源码 其父类AbstractStringBuffer中有value[]属性不是final类型存放字符串内容不是final是存放在堆中的 stringBuffer是final类 构造器参数空参字符串此构造器指定容量是当前字符串长度16指定缓冲区容量默认16 构造器的参数不能是null会抛空指针异常 常用方法 append 增追加返回的还是stringBuffer【追加的如果是null则会置null字符串不会抛异常】 deletestartend 删返回的还是stringBuffer左闭右开 replacestartendstring 改左闭右开 indexOf 查第一次出现的索引 insertstartstring 插在索引位置插入后面往后移 应用3位数字插入逗号先找小数点往前3位插循环处理 length 获取长度 string与stringBuffer string是字符串常量里面值不能改每次string类更新其实是改地址效率低value[]是fianl的 stringBuffer保存的是字符串变量里面的值可以修改每次是更新内容不用每次不用改地址效率高value[]在堆中 只有value指向的数组也在堆中不够才更新地址扩大拷贝更新 相互转换 string-》stringBuffer stringBuffer构造器 stringBuffer的append方法 stringBuffer-》string stringBuffer的toString方法 使用String构造器 string类效率较低复用常量池复用率很高如果对string做大量修改用buffer或builder stringbuilder与stringBuffer提高效率配置文件string表示常量的值 StringBuilder 【stringBuffer的替代】但是所有方法都不是线程安全的不保证同步效率最高 【单线程】使用优先使用此类因为比stringBuffer快 是final类 主要操作append与insert方法可以重载这些方法接收任意类型数据 继承关系与stringBuffer一样 父类是AbstractStringBuilder父类实现了charSequence接口Appendable接口再父类是object类 实现了Serializable接口charSequence接口 Math 数学运算的static方法 abs 绝对值 pow 求幂 ceil 向上取整 floor 向下取整 round 四舍五入 sqrt 求开方负数是NAN random 求随机数 [0,1)随机小数 多敲搞清楚【ab】随机数写法 max 两数最大 min 两数最小 Arrays static方法管理和操作数组比如排序和搜索/包装类数组/引用类型数组 Arrays有静态内部类arraylistNaturalOrderLagacyMergeSort toString方法返回数组的字符串形式 sort方法自然排序和定制排序数组是引用类型排序会直接影响到参数 定制排序要传递comparator接口参数 源码程序调用程序员实现的方法拿到返回值根据正负决定 二叉树排序逻辑 binarySearch 通过二分搜索 进行查找要求必须排好序 copyOfarrint x拷贝原数组前x个元素到新数组如果负数抛异常如果长度大于原数组补null fillarrint x数组元素的填充使用后面数替换原来所有数 equalsarrarr元素完全一样返回真 asList将一组值转换为list编译类型是List运行类型是arraylist静态内部类 System exit退出当前程序参数代表状态0代表正常退出 arraycopy复制数组元素一般是底层调用才用 我们一般用的arrays.copyOf就是用的它 参数5个原数组原数组起始位置目的数组目的数组起始位置长度出错报异常 gc垃圾回收 currentTimeMills返回当前时间毫秒数 println方法默认调用toString方法 BigIntegerBigDecimal 底层就是将其当作字符串处理再转为对象 保存比较大的整数long存不下保存精度高的浮点型小数过多 构造器参数是字符串数字 在对于bigInteger/bigDecimal -*,/有专门方法不能用符号 bigDecimal的除法可能抛异常精度太高可能除不尽--》在除法方法多传一个BigDecimal的静态变量作为精度保留分子精度 DateCalendarlocalDate 3代发展 jdk1.0 Date构造器无参/毫秒值 getTime方法获得毫秒值 SimpleDateFormat格式化 构造器传字符串 format方法/parse方法parse有异常的 jdk1.1 Calendar是抽象类getInstance静态方法获取对象并且提供大量方法和字段给我们使用 没有专门格式化方法。要自己组合 线程不安全还不能处理闰秒每2天多1秒 jdk8 localDatelocalTimelocalDateTime 日期 时分秒 都有 now方法获取当前对象getXXXVALUE方法获取字段 检测是否是闰年等加/减一个时间890天后等得到新日期等各种方法 DateTimeFormater格式化类似simpleDateFormat Instant时间戳类now方法可以获取当前时间可以与Date相互转换兼容 比较器 comparable接口是给类实现的 里面的compareTo方法 有1参数表示自己this与其他自己的比较o 方法返回值是int 将比较逻辑的正负值与返回值的正负值有所关联就行 comparator接口是当参数的 里面的compare方法主要 接口当作参数时匿名内部类重写的方法 有2参数表示自己与其他自己o1o2 方法返回值是int