zoukankan      html  css  js  c++  java
  • 对部分常用类的细节总结

    String

    注意!!!

    字符串是常量,不可变。在对Sting的类赋值时是先删除在创建。

    理解小练习

    请问下述代码一共生成了几个对象?

     String a = "a";
     String b = "b";
     String c = "c";
     String d =a + b + c ;

    正确答案是五个!

    因为String对象不可改变所以做字符拼接时会创建新的匿名对象。从这里可以发现String类中的字符拼接很占用内存以及时间

    为了解决这种状况,Java中新定义两种类StringBufferStringBuilder。这两个类的作用与String类似,但是不同的是这两个类对于字符串的相加做了优化,对于StringBufferStringBuilder来说,每次调用.add()相加,都是放入缓存区,需要调用时在将值从缓存区中取出来。这样后会大大减少拼接的时间以及运行内存。虽然StringBuffer、StringBuilder中的API一样,但是两者也有区别.StringBuffer线程安全、StringBuilder线程安全.

    基础类型的封装类

    在Java中为了方便,给每个基本数据类型都封装了一个类。

    整型 实型 字符型 布尔类型 
    byte Byte double Double char Character boolean Boolean
    short Short float Float        
    int Integer            
    long Long            

    上述基本类型封装内部的方法都是静态方法,这意味着可以通过:封装名.方法名()的方式调用。

    基本类的封装还有一个好处,对于集合来说,集合内部的元素都是对象,这时我们就可以用基本类型封装类来代替基本数据类型。

    BigDecimal

    作用:BigDecimal对象用来对数字的精确计算。

    格式:

     BigDecimal bd = new BigDecimal("0.1");

    在赋值时传入的是字符串,这样比直接传入0.1的精确度要高,在计算机内部小数的存储是通过换算近似的,还是会存在误差,而直接存入字符串就不存在转化近似的问题。

    BigDecimal中的常用方法

    作用方法名作用方法
    add() multiply()
    subtract() divide()

    Math

    近似

    作用方法名
    四舍五入 round()
    向上取整 ceil()
    向下取整 floor()

    三角函数

    对于Java中的三角函数需要注意的是三角函数传入的参数不是角度值而是弧度制。

    角度值/180*PI = 弧度值

  • 相关阅读:
    js对象,数组,字符串的操作
    js 类型之间的相互转化
    Spark常见问题汇总
    Spark RDD的默认分区数:(spark 2.1.0)
    手动合并hadoop namenode editlog
    Yarn参数优化(Fair Scheduler版本)
    linux中在某个目录下多个文件中搜索关键字
    JDK中jps、jinfo、jstat、jstack、jmap、jconsole等命令简介
    Elasticsearch 为何要在 7.X版本中 去除type 的概念
    Linux 查看内存使用情况
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/11979925.html
Copyright © 2011-2022 走看看