数据类型转换一般分为三种: 在java中整型,实型,字符型视为简单数据类型,这些数据类型由低到高分别为:(byte,short,char--int-long-float-double) 简单数据类型之间的转换又可以分为: a.低级到高级的自动类型转换 b.高级到低级的强制类型转换 c.包装类过度类型转换 下面分别来看下这几种转换: 第一种:自动类型转换 低级变量可以直接转换为高级变量,如: byte b; int i = b; long l = b; float f = b; double d…
1.常用方法 1)判断字符串是否为空 public boolean isEmpty()2)获取字符串长度 public int length()3)截取子子串 public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) 4)在字符串中查找字符或子字符串,返回第一个找到的索引位置,没找到返回-1 public int indexOf(int ch) public int…
在Java中,除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类或 StringBuffer 类存储字符串,那么它们之间有什么区别呢? String 类具有是不可变性.如 运行结果: 从运行结果中我们可以看到,程序运行时会额外创建一个对象,保存 "helloworld".当频繁操作字符串时,就会额外产生很多临时变量.使用 StringBuilder 或 StringBuffer 就可以避免这个问题.至于 StringBuilder 和StringBu…
不可变类的意思是创建该类的实例后,该实例的实例变量是不可改变的.Java提供的8个包装类和String类都是不可变类.因此String和8个包装类都具有不可变性. 就拿String类来说,通过阅读String类的源码我们可以发现其实整个String类是被final所修饰,而其用来存储值的底层实际上是一个私有final类型的字符数组,因此在JVM运行的时候是把“hello”当成常量存储在运行时常量池内部. ​ public class UnChange { public static void m…
Object类的概述:* A:Object类概述    * 类层次结构的根类    * 所有类都直接或者间接的继承自该类* B:构造方法    * public Object()    * 子类的构造方法默认访问的是父类的无参构造方法 Object类的hashCode()方法 * public int hashCode()    * a:返回该对象的哈希码值.默认情况下,该方法会根据对象的地址来计算.    * b:不同对象的,hashCode()一般来说不会相同.但是,同一个对象的hashCo…
最近突然被问到String为什么被设计为不可变,当时有点懵,这个问题一直像bug一样存在,竟然没有发现,没有思考到,在此总结一下. 1.String的不可变String类被final修饰,是不可继承和修改的.当一个String变量被第二次赋值时,不是在原有内存地址上修改数据,而是在内存中重新开辟一块内存地址,并指向新地址. String类为什么要被设计为是final的? 1.不可变性支持线程安全. 2.不可变性支持字符串常量池,提升性能. 3.String字符串作为最常用数据类型之一,不可变防止…
1.Object类1.1 基本概念 java.lang.Object类是Java类层次结构的根类,任何类都是Object类的直接/间接子类. 1.2 常用的方法(重点) Object() - 无参构造方法 boolean equals(Object obj) - 用于判断调用对象是否和参数对象相等. - 该方法默认比较两个对象的地址,与 == 运算符的效果等价. - 当需要比较对象的内容时则重写该方法,重写该方法后记得重写hashCode()方法. int hashCode() - 用于获取调用…
常用类 内部类 成员内部类.静态内部类.局部内部类.匿名内部类 概念:在一个类的内部再定义一个完整的类 特点: 编译之后可生成独立的字节码文件 内部类可直接访问外部类私有成员,而不破坏封装 可为外部类提供必要的内部功能组件 Outer$Inner.class Outer.class // 身体 class Body{ // 头部 class Header{ // 也会生成class文件 } } 成员内部类 在类的内部定义,与实例变量.实例方法同级别的类 外部类的一个实例部分,创建内部类对象时,必…
Java面试炼金系列 (1) | 关于String类的常见面试题剖析 文章以及源代码已被收录到:https://github.com/mio4/Java-Gold 0x0 基础知识 1. '==' 运算符 Java中的数据类型分为基本数据类型和引用数据类型: 基本类型:编程语言中内置的最小粒度的数据类型.它包括四大类八种类型 4种整数类型:byte.short.int.long 2种浮点数类型:float.double 1种字符类型:char 1种布尔类型:boolean 引用类型:引用也叫句柄…
一.包装类的分类: 1.黄色部分的父类为Number 继承关系: Boolean Character 其他六个基本数据类型 2.装箱和拆箱 理解:一个例子,其他的都相同 装箱:Integer integer=New.valueof(1)     :将值封装成一个Integer类 拆箱:int i = Integer.intValue(); 面试题: 在底层中 Integer i = 127: Integer i = 128: 两个的生成方法不同,首先从-128-->127都是在调用类时自动生成的…