• 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)用四舍五入法保留两位小数

Java基础篇——常用类的更多相关文章

  1. 【Java基础】常用类

    常用类 字符串相关的类 String类:代表字符串,使用一对 "" 引起来表示. public final class String implements java.io.Seri ...

  2. java基础之常用类1

    java基础 以下内容为本人的学习笔记,如需要转载,请声明原文链接   java常用类: 1.内部类 2.Object类 3.Object类常用方法 4.包装类 5.String类 6.BigDeci ...

  3. java基础篇 -- 常用的日期加减和日期格式化工具类

    平时我们遇到日期的加减,感觉是相当麻烦的,以下是常用的日志加减的方法,包括日的加减.月的加减等,也包括了一些常用的日期格式化,这样在我们以后碰到日期加减的时候会省去很多麻烦,欢迎大神指正和吐槽: pa ...

  4. Java基础总结--常用类以及包的访问权限

    -----Object---所有类的根类1.怎么得到的:通过对所有对象不断的向上抽取共性,具备所有对象的共性的东西2.常用的方法* equals(Object obj):比较两个对象的引用是否指向同一 ...

  5. Java基础之常用类

    1.Collections类: (1)此类完全由在 collection 上进行操作或返回 collection 的静态方法组成. (2)静态方法摘要: static <T> boolea ...

  6. JAVA基础篇 之 类的初始化

    类中属性的隐式初始化,代码如下,我们看下不同类型默认的初始值是什么 创建一个Demo类如下: class Demo { int a; byte b; short c; long d; boolean ...

  7. java基础篇---I/O技术

    java基础篇---I/O技术   对于任何程序设计语言而言,输入输出(I/O)系统都是比较复杂的而且还是比较核心的.在java.io.包中提供了相关的API. java中流的概念划分 流的方向: 输 ...

  8. 金三银四跳槽季,BAT美团滴滴java面试大纲(带答案版)之一:Java基础篇

    Java基础篇: 题记:本系列文章,会尽量模拟面试现场对话情景, 用口语而非书面语 ,采用问答形式来展现.另外每一个问题都附上“延伸”,这部分内容是帮助小伙伴们更深的理解一些底层细节的补充,在面试中可 ...

  9. java基础篇---HTTP协议

    java基础篇---HTTP协议   HTTP协议一直是自己的薄弱点,也没抽太多时间去看这方面的内容,今天兴致来了就在网上搜了下关于http协议,发现有园友写了一篇非常好的博文,博文地址:(http: ...

  10. 小白—职场之Java基础篇

    java基础篇 java基础 目录 1.java是一种什么语言,jdk,jre,jvm三者的区别 2.java 1.5之后的三大版本 3.java跨平台及其原理 4.java 语言的特点 5.什么是字 ...

随机推荐

  1. day01-4-订座功能

    满汉楼01-4 4.功能实现03 4.5订座功能 4.5.1功能说明 如果该餐桌处于已经预定或者就餐状态时,不能进行预定,并给出相应提示 4.5.2思路分析 根据显示界面,要考虑以下两种状态 检测餐桌 ...

  2. 云计算_Apache CloudStack

    注:基于系统版本CentOS 7.2.1511部署 修改主机名/IP地址/hosts解析 hostnamectl set-hostname centos1 hostnamectl set-hostna ...

  3. 使用request对象进行简单的注册以及信息显示

    Request内置对象的使用 概述:request对象主要用于接收客户端发送的请求信息,客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.封装了用户提交的信息.在 ...

  4. python同时识别多张人脸(运用face_recognition)

    之前发的博客和网上流传的代码严格来说都只算得上是人脸检测,不能区别人脸,今天来说说真的人脸识别 篇幅所限,就举两张人脸的例子了,本程序需要安装face_recognition 下面是全部源代码: im ...

  5. 基于SqlSugar的开发框架循序渐进介绍(17)-- 基于CSRedis实现缓存的处理

    在一个应用系统的开发框架中,往往很多地方需要用到缓存的处理,有些地方是为了便于记录用户的数据,有些地方是为了提高系统的响应速度,如有时候我们在发送一个短信验证码的时候,可以在缓存中设置几分钟的过期时间 ...

  6. 一、Django介绍

    一.Django介绍 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django.Django 是一个开放源代码的 Web 应用框 ...

  7. Scrapy 发送Request Payload

    Scrapy 发送Request Payload 首先要打开 F12 进入调试模式 然后 查看是用什么方法获取的 如果是Json: 1. json.dumps 转化成Json yield Reques ...

  8. 死磕Java面试系列:深拷贝与浅拷贝的实现原理

    深拷贝与浅拷贝的问题,也是面试中的常客.虽然大家都知道两者表现形式不同点在哪里,但是很少去深究其底层原理,也不知道怎么才能优雅的实现一个深拷贝.其实工作中也常常需要实现深拷贝,今天一灯就带大家一块深入 ...

  9. 如何在CentOS7上搭建自己的GitLab仓库

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,在团队开发中,一般都是需要使用git及git仓库来管理我们的代码的,这非常方便.我以前在小公司的时候,基本都是一个人开发一个项目,所以也没有怎么接 ...

  10. Oracle部署,关于日志文件系统选择(硬盘格式化、挂载)

    之前部署过好多Oracle服务,采用的日志文件系统一直是ext3.但是我观察到很多人在格式化/挂载数据盘时,采用的日志文件系统类型有ext3.ext4.xfs等,这不禁让我发出疑问,哪个类型的数据处理 ...