• Objec类

    Test t1 = new Test();
    Test t2 = new Test();
    //toString方法,对某个对象的字符串输出
    //getClass方法,返回该对象的Class类型
    Class c = t1.getClass();
    //hashCode方法,返回某个对象地址的哈希码(int 型)
    //equals方法,比较该对象和形参对象的地址值 eg:t1.equals(t2)==false;
    //finalize方法,jvm会自动调用该方法回收垃圾对象,程序员也可以主动提示jvm回收"System.gc()"
  • Integer整数缓冲区

    Integer integer1 = new Integer(100);
    Integer integer2 = new Integer(100);
    System.out.println(integer1==integer2);
    //自动装箱,实际调用Integer.valueOf()
    Integer integer3 = 100;
    Integer integer4 = 100;
    System.out.println(integer3=integer4);
    Integer integer5 = 500;
    Integer integer6 = 500;
    System.out.println(integer5==integer6);

    输出为:

    第一个false是因为integer1和integer2虽然都为100,但是确指向了堆中的两个不同的包装类对象,虽然内容一样,但是实际堆中地址不同。

    第二个true和第三个false就涉及到了缓冲区

    java预先在堆里创建了256个缓冲区,存放了数值为-128~127的整数包装类对象,称为IntegerCatch

      public static Integer valueOf(int i) {//valueOf方法实现细节
    if (i >= IntegerCache.low && i <= IntegerCache.high)
    return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
    }//IntegerCache即为缓冲区,low为-128,high为127,合起来为256个数
    // cache = new Integer[(high - low) + 1]; 因为-128≥100≤127所以integer3和integer4实际指向的是整数包装类缓冲区中的100对象,所以返回为true
    但是500≥127,所以返回的是new Integer(500);,即3和4实际上和integer1、integer2是等价的
  • String类

    字符串是常量,存储在方法区中的字符串池中(便与共享),创建后不可改变(指存储在字符串池中的对象不可改变)

    String name="zhangsan";
    name="lisi";//重新创建lisi对象用name指向,原zhangsan对象依然存在,不过变为垃圾对象

    常用方法:

    //length属性,存储字符串长度
    //charAt(int )方法,下标读取,类似于数组下标
    //contains(String )方法,判断该字符串中有没有包含参数字符串
    //toCharArray方法,将字符串转为数组返回
    //indexOf(String )方法,返回参数字符串在该字符串中第一次出现的位置下标
    //trim方法,去掉字符串前后的空格(不包括中间)
    //toUpperCase/toLowerCase方法,大小写转换
    //startsWith(String )/endsWith()方法,是否以参数字符串开头或结尾
    //replace(String old,String new)方法,以new去替换该字符串中的old
    //split(String )以参数字符串分割该字符串
    String name="java is the best languge,do you agree?";
    String[] array=name.split(" ")
    //同时用","和" "分割 name.split("[ ,]");

    可变长String类

    StringBuffer:效率慢,线程安全

    //append(String)方法,向该字符串后追加参数字符串
    //insert(int , String)方法,向位置int插入参数字符串
    //replace(int start,int end,String)用参数字符串替换start-end位置的字符串(左闭右开区间)
    //delete(int start,int end)方法,删除位置start-end的字符串

    StringBuilder:效率快,线程不安全,适用于单线程

    方法和StringBuffer相同

  • BigDecimal类

    为浮点数计算而生

    //subtract(Bigdecimal )减法 原-参
    //add(Bigdecimal) 加法
    //multiply(Bigdecimal) 乘法
    //divide (BigDecimal ) 除法 原/参
    //除法中可以指定保留小数和进位方式
    //divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP)用四舍五入法保留两位小数

最新文章

  1. java线程池(newSingleThreadExecutor())小应用
  2. javascript实现图片滚动
  3. OC中NSArray
  4. 图像边缘检测——Sobel算子
  5. c语言0 ‘0’ &#39;\0&#39;空格都是什么玩意儿
  6. Firebug Command Line
  7. java的List分页 取出数据后使用List分页
  8. Visual Studio 2013 突然不高亮,编译报错
  9. Netty官网首页(翻译)
  10. 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
  11. OpenCV两种畸变校正模型源代码分析以及CUDA实现
  12. Linux下性能调试工具运维笔记
  13. 【C++ Primer 第11章 练习答案】2. 关联容器概述
  14. php中Redis的扩展
  15. 在本地设置 http-proxy 代理 (前后端分离)
  16. Java工具类_模拟HTTP POST请求
  17. 【每日一linux命令】
  18. PHP图像操作:3D图、缩放、旋转、裁剪、加入水印(一)
  19. 【后台管理系统】—— Ant Design Pro入门学习&amp;项目实践笔记(三)
  20. UnityGUI扩展实例:图片挖洞效果 Mask的反向实现

热门文章

  1. API接口笔记
  2. 如何在IDEA中自定义模板、快速生成完整的代码?
  3. 云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践
  4. Hugging Face发布diffuser模型AI绘画库初尝鲜!
  5. 狂神说mysql笔记
  6. 使用jmx exporter采集kafka指标
  7. springboot启动问题集合
  8. django-environ学习
  9. echarts标题(title)配置
  10. EasyPoi 导出Excel(ExcelExportEntity生成表头)