java基础
文章平均质量分 89
灿烂小八戒
这个作者很懒,什么都没留下…
展开
-
最清晰的理解JAVA参数传递问题
今天做项目,发现了一个问题,当String作为参数传递的时候,在函数内部改变值对外部的变量值无影响,如下代码:public static voidmain(String[] args) {String str= “11111”;changeStr(str);System.out.println(str);//输出11111}public static voidchangeStr(String str){str= “22222”;}一开始不解后来想想就明白了,遂去对java参数传递做一个总结,原创 2021-03-23 14:09:25 · 244 阅读 · 0 评论 -
HashMap的数据结构
HashMap的数据结构数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法—— 拉链法,我们可以理解为“链表的数组”,如图:从上图我们可以发现哈希表是由数组+链表组成的,一个长度为16的数组中,每个元素存储的是一个链表的头结点。那么这些元素是按照什么样的规则存储到数组中呢。一般情况是通过hash(k转载 2021-03-23 08:57:32 · 540 阅读 · 0 评论 -
static修饰的变量特点
static修饰的成员变量又称为类变量。不加static修饰的成员变量又叫对象变量。成员变量和类变量的区别:1、两个变量的生命周期不同 成员变量随着对象的创建而存在,随着对象的回收而释放。 静态变量随着类的加载而存在,随着类的消失而消失。2、调用方式不同 成员变量只能被对象调用。 静态变量可以被对象调用,还可以被类名调用。3、别名不同 成员变量也称为实例变量。 静态变量也称为类变量。4、数据存储位置不同 成员变量存储在堆内存的对象中,所以也叫对象的特有数据原创 2020-11-13 10:43:46 · 1595 阅读 · 0 评论 -
IO流
1.流的概念流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。它的特性是进行数据传输;2.流的分类流按照流向数据流向可以分为输入流和输出流。流按照处理数据类型的单位不同可以分为字节流和字符流。3.字节流与字符流之间的区别:1.读写单位不同:字节流式以字节(8位2进制)为单位,字符流是以字符为单位,根据码表映射字符,一次可能读多个字节。2.处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。3.一次读入或读出是8位二进制。4.字符.原创 2020-11-11 16:42:12 · 105 阅读 · 0 评论 -
使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?答:是引用不能变,引用的对象内容是可以变的。public static void test1(String[] args) { // final int a=0; // a =1;//编译报错 // final String aa="A"; // aa="B";//编译报错}public s...原创 2019-06-23 21:40:35 · 1549 阅读 · 0 评论 -
String、StringBuffer、StringBuilder的区别?
我们平日开发通常情况下少量的字符串拼接其实没太必要担心,例如String str = “aa”+“bb”+“cc”;像这种没有变量的字符串,编译阶段就直接合成"aabbcc"了,然后看字符串常量池(下面会说到常量池)里有没有,有也直接引用,没有就在常量池中生成,返回引用。如果像:String a=“A”;String b=“B”;String c=“C”;String aa=a...原创 2019-06-24 21:51:50 · 99 阅读 · 0 评论 -
Collection中的List接口和Set接口
List和Set的区别:List存放有序的,可重复的元素。List中元素的存放顺序是按元素的插入时间一次往后排列来的。Set存放无序的,不可重复的元素(前提是如果添加的元素是早定义的类的话那必须得重写hashCode()和equals()方法)。Set中元素的存放顺序与元素的插入时间无关,是根据元素的hashCode值来排列的。如果hashcode值一样,则判断值是否相等,相等则不存,不相等...原创 2019-07-16 22:24:30 · 429 阅读 · 0 评论