![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
刺猬小颖
IT小白
展开
-
char的toString()是取地址值,String.valueOf()拿到数值
char的toString()是取地址值,String.valueOf()拿到数值 public class Solution { public static void main(String[] args) { String s = "-46"; char[] chars = s.toCharArray(); System.out.println(chars); System.out.println("chars:" + chars原创 2020-11-08 23:22:56 · 297 阅读 · 0 评论 -
final、finalize、finally异同,以及final关键字如何使用
final、finalize()、finally 性质不同 1.final为关键字; 2.finalize()为方法; 3.finally为区块标志,用于try语句中; 作用 1.final为用于标识常量的关键字,final标识的关键字存储在常量池中;final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 2.finalize()方法在Object中进行了定义,用于在对象“消失”时,由JVM进行调用用于对对象进行垃圾回收,类似于C++中的析构函数,可以覆盖此方法提供垃圾收集时的其他资源;用户原创 2020-09-22 09:35:21 · 754 阅读 · 0 评论 -
String类的常用方法
String类的常用方法有那些? charAt: 返 回 指 定 索 引 处 的 字 符 indexOf(): 返 回 指 定 字 符 的 索 引 replace(): 字 符 串 替 换 trim(): 去 除 字 符 串 两 端 空 白 split():分割字符串,返回一个分割后的字符串数组 getBytes(): 返 回 字 符 串 的 byte 类 型 数 组 length(): 返 回 字 符 串 长 度 toLowerCase():将字符串转成小写字母 toUpperCase():将字符串转成原创 2020-09-22 09:08:12 · 107 阅读 · 0 评论 -
简述序列化和Serializeable
简述序列化 序列化:将对象写入到IO流(ObjectOutputStream)=>将对象转换为字节序列化的过程。 反序列化:从IO流中恢复对象(ObjectInputStream)=>把字节序列恢复为对象的过程。 意义:序列化机制允许将实现序列化的java对象转换为字节序列。这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。系列化机制使得对象可以脱离程序的运行而独立存在。 使用场景: 所有可在网络上传输的对象都必须是可序列化的,比如RMI(remote原创 2020-08-23 11:10:14 · 361 阅读 · 0 评论 -
java中 8大基本类型
1. JAVA中的几种基本类型,各占用多少字节? 数据类型 基本数据类型 数值型 整数类型(byte,short,int,long) 浮点类型(float,double) 字符型(char) 布尔型(boolean) 引用数据类型 类(class) 接口(interface) 数组 下图单位是bit,非字节 1B = 8bit原创 2020-08-21 15:43:15 · 139 阅读 · 0 评论 -
值引用与对象引用,代码测试
=>一般认为,java内的传递都是值传递。 =>值传递是对基本型变量而言的,传递的是该变量的副本,改变副本不影响原变量。 =>引用传递一般是对对象变量而言的,传递的是该对象地址的一个副本,并不是原对象的本身,所以对引用对象进行操作会同时改变原对象。 代码测试: public class ValuePassed { public int value; public ValuePassed(int value) { this.value = value;原创 2020-08-20 23:02:26 · 125 阅读 · 1 评论 -
ArrayList和LinkedList异同 加部分源码
都实现了List接口。都是线程不安全的。(区别:简单来说 ArrayList 只有查询快,其余都是LinkedList快,LinkedList更占内存) ArrayList是基于索引的数据接口,底层是动态数组。它可以以O(1)时间复杂度对元素进行随机访问。 LinkedList使用双向链表实现存储,每一个元素都和它的前一个和后一个元素链接在一起,这种情况下,查找某个元素的时间复杂度是O(n).但是相对于ArrayList,它的插入、添加、删除操作速度更快。因为当元素被添加到集合任意位置的时候,不需要原创 2020-08-20 18:47:27 · 93 阅读 · 0 评论 -
equals 和 == 区别,代码测试
== 是一个运算符 基本类型:比较的就是值是否相同 引用类型:比较的就是地址值是否相同(即两个引用是否指向同一个对象实体) public static void main(String[] args) { String a = "aaa"; String b = "aaa"; String c = a; int d = 1; int e = 1; int f = d; System.out原创 2020-08-20 16:23:50 · 71 阅读 · 0 评论 -
OOP七大原则
开闭原则:对扩展开放,对修改关闭。 =>理想情况下。当我们需要增加一个新的功能时,只需要从原来的类中潘生出一些新的类就可以,不需要修改原来的任何一行代码。 里氏替换原则:继承必须确保超类所拥有的的性质在子类中仍然成立。 =>任何时候都可以用子类替换掉父类型。 =>注意:子类是增加父类的能力,而不是减少父类的能力,因为子类比父类能力更多,把能力多的对象当成能力少的对象来用肯定没有问题。 =>举例:让长方形去继承正方形就是错误的 依赖倒置原则:要面向接口编程,不要面向实现编程。 =>原创 2020-08-20 14:05:40 · 122 阅读 · 0 评论 -
探索HashMap->由hashmap引出不同的点
探索HashMap-> 由hashmap引出不同的点 自己想一想几个点:线程不安全,put时在多线程的情况下,会形成环从而导致死循环。 不同步,单线程,散列表,键值对,只允许有一个key为空,允许有多个值为空,遍历时无序。 概括的说,HashMap 是一个关联数组、哈希表,它是线程不安全的,允许key为null,value为null。遍历时无序。 其底层数据结构是数组称之为哈希桶,每个桶里面放的是链表,链表中的每个节点,就是哈希表中的每个元素。 在JDK8中,当链表长度达到8,会转化成红黑树,以提升它原创 2020-08-20 13:11:37 · 130 阅读 · 0 评论 -
runtime exception总结
NullPointerException -空指针异常 ClassCastException -类型强制转换异常 IllegalArgumentException -传递非法参数异常 ArithmeticException -算数运算异常 ArrayStoreException -向数组中存放与声明类型不兼容异常 IndexOutOfBoundsException -下标越界异常 NegativeArraySizeException -创建一个大小为负数的数组错误异常 NumberFormatExcepti原创 2020-07-14 11:36:04 · 72 阅读 · 0 评论