首页 > 编程语言 >java常用类

java常用类

时间:2023-11-04 22:34:14浏览次数:27  
标签:常用 java String int 对象 str 类型 字符串

java常用类 autoCloseAble接口   1.内部类,2.Object类,3.Object类常用用法,4包装类,5.String类,6.BigDecimal类 内部类: 1.成员内部类; 在一个类中再定义一个类,作为前一个类的成员存在; 2.静态内部类; 在成员内部类的基础上加static; 3.局部内部类; 把一个类定义在一个方法内部; 访问局部变量,只能是访问常量,jdk1.8之后,定义的变量会自动加final,也就是说,有局部类的时候,这个方法内部定义的变量都自动是常量。 原因是局部内部类访问外部类当前方法中的变量时,因为无法保障变量的生命周期与自身相同,变量必须修饰为final. 4.匿名内部类; 没有名字的局部内部类,使用抽象类,接口的时候用的比较多;   内部类可以访问外层类的属性,当属性,变量同名时,会直接访问到内部类,如果要访问外部类的属性,变量,需要使用 外部类明.this.变量名 指定;         Object类 类中的方法:getClass(),hashcode(),toString(),clone(),,notify(),wait(),equals(), getClass(),返回对象类型,比如student类,teacher类。实例化成对象后,对象类型就是student类型,teacher类型; hashcode(),返回的是对象的哈希码值,根据对象存储的堆的地址,或字符串或数字使用hash算法算出来的int类型的数值。 toString(),object类中默认会返回对象的命名空间,类型,以及哈希值,跟hashcode()值是一样的,只不过1个不是10进制,需要转化一下。 equals(), 判断2个对象是否是同一个对象;s1.equals(s2):s1对象引用地址是否等于s2; finalize(),当对象被判定为垃圾对象时,由jvm自动调用此方法,用以标记垃圾对象; 垃圾对象:没有有效引用指向此对象,为垃圾对象(在内存中定义了一个对象,但是却没有赋值给一个变量,该对象无法使用,此时为垃圾对象); 垃圾回收,由GC销毁垃圾对象,释放数据存储空间; 自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象; 手动回收:调用System.gc();通知JVM执行垃圾回收;     包装类 基本类型数据存放在栈空间;引用数据类型都在堆里面; 8个基本类型,是没有属性方法的;为了便于操作,对应8个基本类型,创造了8个引用类型,也就是这8个基本类型的包装类; 基本数据类型 ---》包装类型 byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character 类型转换与装箱,拆箱:基本类型的数据原本是存放在栈里面的,将数据存到堆里的操作叫装箱,反之则叫拆箱;jdk1.5之后,实现了自动装箱,拆箱; int age=30; Integer integer1 = age; //自动装箱; int age2 = integer1; //自动拆箱 基本类型和成字符串转换: 1.使用+号;数字加字符,就转换成字符串; 2.使用Integer.toString();(toString可填第二个参数,可以转换成几进制比如10,16等) 字符串转数字: 使用Integer.parseXXX(); int num2 = Integer.patseInt(str); integer 缓冲区:使用integer类型定义变量时会自动装箱,自动把数据转换为引用类型,会存在堆里,但是,integer类里有个缓冲区设定,-128到127之间的数据会从cache缓存中取,并不会创建一个新对象,此时数据还是存在栈中;定义两个100比较,它们是相等的;定义两个200,是不相等的,因为200不在缓冲区内,是重新创建了对象,是引用类型,存在堆中;   变量重新赋值,并不是直接改变变量的值,而是重新开辟一个空间,创造一个新的值,字符串,并且把变量名的引用地址重新指向新的字符串。如果定义两个相同的字符串,那么这两个变量名指向的是同一个字符串。实现了字符串常量的共享;也是字符串的不可变性; 即:1.字符串是常量,创建后不可改变; 2.字符串字面值存储在字符串池中,可以共享; 3.String str = "hello"; 产生一个对象,字符串池中存储; 4.String str = new String("hello"); //产生两个对象,堆,池中各存储一个; 最后,字符串比较时不要用 == ,==比较的是引用的地址, str.equals(str2)这样比较的是字符串池中的值; String类常用方法: lenth(); //返回字符串长度; charAt(int index); //返回某个位置的字符; contains(String str); //判断是否存在某个字符; toCharArray(); 将字符串转换为数组; indexOf(String str); 查询某个str首次出现时的下表,存在,则返回该下表,不存在,则返回-1; lastIndexOf(String str); 查找字符串在当前字符串中最后一次出现的下标索引; trim(); 去掉字符串前后空格; toUpperCase(); 小写转换成大写; endWith(String str); 判断字符串是否以str结尾; replace(char oldChar, char newChar); 将旧字符串替换成新字符串; split(String str); 将原字符串以str为分隔符进行拆分,str为[ ,]+等多个字符组成的字符串时,单个空格这样的单字符也能作为分隔符;     StringBuffer 可变字符串 和String相比,StringBuffer效率更高,更节省内存; StringBuffer类的方法: append();在字符串末尾追加字符串; insert(int index, String str) 插入,在指定下标插入字符串; replace() 替换 Math类 BigDecimal类, 高精度 可以实现精确计算;防止出现double浮点数计算出现误差的现象; 加 add(); num1.add(num2); 减 subtract() 乘 multiply() 除 divide(); 第二位参数可选,为保留几位小数,第三位可选,常量(有多种,可选四舍五入)     Date类 表示特定的瞬间,精确到毫秒,Date类中的大部分方法都已经被Calendar类中的方法所取代; Calendar 在1.1后,取代了date类,提供了获取或设置各种日历字段的方法;由于该类修饰符是protected,无法直接创建对象,只能直接调用该类下的方法; 方法名字: static Calendar getInstance() 使用默认时区和区域获取日历; void set(int year,int month,int date,int hourdfday,int minute,int second) 返回给定日历字段的值,字段比如年月日等; int get(filed) 返回给定日历字段的值。字段比如年月日等; void setTime(Date date) 用给定的Date值设置此日历的时间 Date getTime() 返回时间戳 void add(int field,int amount) 按照日历的规则,给指定字段添加或减少时间量 long getTimeInMillies 毫秒为单位返回该日历的时间值(时间戳?)   SimpleDateFormat类 Yy Mm Dd 年月日 H:i:s 时分秒   System系统类,主要用于获取系统的属性数据和其他操作,构造方法是私有的;只能直接调用它的方法; static void arraycopy(str, strPos,dest,destPos,lenth) 复制数组,从str数组的strPos位置开始复制,复制到dest数组的destPos位置,复制lenth个; static long currentTimeMillis() 获取系统当前时间,返回的是毫秒值 static void gc() 手动启动垃圾回收 static void exit(int status) 退出jvm,如果参数是0表示正常退出jvm,非0表示异常退出jvm;    

标签:常用,java,String,int,对象,str,类型,字符串
From: https://www.cnblogs.com/wanyi96/p/17809926.html

相关文章

  • java 类和对象以及封装
    封装对象代表什么,就得封装对应的数据,并提供数据对应的行为......
  • 前端学习-JavaScrip学习-js基础01
    学习教程:黑马程序员视频链接JS简介JS组成JavaScrip=ECMAscript(语言基础)+webAPIwebAPI=BOM+DOM资料查询网站:MDN<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="......
  • Java八股面试整理(4)
    34.遇到过异常吗,如何处理?在Java中,可以按照如下三个步骤处理异常:捕获异常将业务代码包裹在try块内部,当业务代码中发生任何异常时,系统都会为此异常创建一个异常对象。创建异常对象之后,JVM会在try块之后寻找可以处理它的catch块,并将异常对象交给这个catch块处理。处理异常在......
  • 每天5道Java面试题(第二天)
    1. JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,Java开发工具包,提供了Java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,Java运行环境,为Java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译Java源码的编译器Javac,还包含了很多J......
  • Java学习—对象和类
    对象&类对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类是一个模板,它描述一类对象的行为和状态。java命名约定的优点通过使用标准的Java命名约定,您可以使自己和其他程序员更容易阅读代码。Jav......
  • java基础学习:注解注释
     编译之后的注释是没有的,.class文件里没有注释的  ......
  • JavaScript复习——03 函数
    函数在JS中也是一个对象,它具有其它对象的所有功能,函数中可以存储代码,且可以在需要的时候调用这些代码函数的操作函数的定义函数声明function函数名([参数列表]){ //函数体 return返回值;}函数表达式const函数名=function([参数列表]){ return返回值;}......
  • Java 基础篇day06
    String字符串,可以用来创建对象封装字符串数据,并对其进行处理创建字符串的方式点击查看代码//String创建对象封装字符串数据的方式Java程序中的所有字符串文字都为此类的对象1.简单的方案Stringname="xiaohei";2.方式二:调用String类提供的构造器初始化字符串对象,封装......
  • Java拾贝第十六天——其他集合类Properties
    PropertiesProperties是Map的子实现类,其定义如下publicclassPropertiesextendsHashtable<Object,Object>Hashtable是Map接口的一个子类,与Vector一样都是旧的操作类,与HashMap没什么区别。Properties是操作属性文件的一个属性操作类。属性文件中属性都是以字符串表示的键......
  • Java JDBC
    JDBC基本用法常用接口和类简介DriverManager类用于管理JDBC驱动的服务类。程序中使用该类的主要功能是获取Connection对象publicstaticsynchronizedConnectiongetConnection(Stringurl,Stringuser,Stringpass)throwsSQLException获取url对应的数据库连接C......