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 · 322 阅读 · 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 · 768 阅读 · 0 评论 -
String类的常用方法
String类的常用方法有那些?charAt: 返 回 指 定 索 引 处 的 字 符indexOf(): 返 回 指 定 字 符 的 索 引replace(): 字 符 串 替 换trim(): 去 除 字 符 串 两 端 空 白split():分割字符串,返回一个分割后的字符串数组getBytes(): 返 回 字 符 串 的 byte 类 型 数 组length(): 返 回 字 符 串 长 度toLowerCase():将字符串转成小写字母toUpperCase():将字符串转成原创 2020-09-22 09:08:12 · 124 阅读 · 0 评论 -
简述序列化和Serializeable
简述序列化序列化:将对象写入到IO流(ObjectOutputStream)=>将对象转换为字节序列化的过程。反序列化:从IO流中恢复对象(ObjectInputStream)=>把字节序列恢复为对象的过程。意义:序列化机制允许将实现序列化的java对象转换为字节序列。这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。系列化机制使得对象可以脱离程序的运行而独立存在。使用场景:所有可在网络上传输的对象都必须是可序列化的,比如RMI(remote原创 2020-08-23 11:10:14 · 373 阅读 · 0 评论 -
java中 8大基本类型
1. JAVA中的几种基本类型,各占用多少字节? 数据类型 基本数据类型 数值型 整数类型(byte,short,int,long) 浮点类型(float,double) 字符型(char) 布尔型(boolean) 引用数据类型 类(class) 接口(interface) 数组下图单位是bit,非字节 1B = 8bit原创 2020-08-21 15:43:15 · 158 阅读 · 0 评论 -
值引用与对象引用,代码测试
=>一般认为,java内的传递都是值传递。=>值传递是对基本型变量而言的,传递的是该变量的副本,改变副本不影响原变量。=>引用传递一般是对对象变量而言的,传递的是该对象地址的一个副本,并不是原对象的本身,所以对引用对象进行操作会同时改变原对象。代码测试:public class ValuePassed { public int value; public ValuePassed(int value) { this.value = value;原创 2020-08-20 23:02:26 · 153 阅读 · 1 评论 -
ArrayList和LinkedList异同 加部分源码
都实现了List接口。都是线程不安全的。(区别:简单来说 ArrayList 只有查询快,其余都是LinkedList快,LinkedList更占内存)ArrayList是基于索引的数据接口,底层是动态数组。它可以以O(1)时间复杂度对元素进行随机访问。LinkedList使用双向链表实现存储,每一个元素都和它的前一个和后一个元素链接在一起,这种情况下,查找某个元素的时间复杂度是O(n).但是相对于ArrayList,它的插入、添加、删除操作速度更快。因为当元素被添加到集合任意位置的时候,不需要原创 2020-08-20 18:47:27 · 104 阅读 · 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 · 77 阅读 · 0 评论 -
OOP七大原则
开闭原则:对扩展开放,对修改关闭。=>理想情况下。当我们需要增加一个新的功能时,只需要从原来的类中潘生出一些新的类就可以,不需要修改原来的任何一行代码。里氏替换原则:继承必须确保超类所拥有的的性质在子类中仍然成立。=>任何时候都可以用子类替换掉父类型。=>注意:子类是增加父类的能力,而不是减少父类的能力,因为子类比父类能力更多,把能力多的对象当成能力少的对象来用肯定没有问题。=>举例:让长方形去继承正方形就是错误的依赖倒置原则:要面向接口编程,不要面向实现编程。=>原创 2020-08-20 14:05:40 · 129 阅读 · 0 评论 -
探索HashMap->由hashmap引出不同的点
探索HashMap-> 由hashmap引出不同的点自己想一想几个点:线程不安全,put时在多线程的情况下,会形成环从而导致死循环。不同步,单线程,散列表,键值对,只允许有一个key为空,允许有多个值为空,遍历时无序。概括的说,HashMap 是一个关联数组、哈希表,它是线程不安全的,允许key为null,value为null。遍历时无序。其底层数据结构是数组称之为哈希桶,每个桶里面放的是链表,链表中的每个节点,就是哈希表中的每个元素。在JDK8中,当链表长度达到8,会转化成红黑树,以提升它原创 2020-08-20 13:11:37 · 145 阅读 · 0 评论 -
runtime exception总结
NullPointerException -空指针异常ClassCastException -类型强制转换异常IllegalArgumentException -传递非法参数异常ArithmeticException -算数运算异常ArrayStoreException -向数组中存放与声明类型不兼容异常IndexOutOfBoundsException -下标越界异常NegativeArraySizeException -创建一个大小为负数的数组错误异常NumberFormatExcepti原创 2020-07-14 11:36:04 · 82 阅读 · 0 评论