美文网首页
java基础知识(五)

java基础知识(五)

作者: 木石前盟_429a | 来源:发表于2020-05-11 00:28 被阅读0次

函数式接口代表只包含一个抽象方法的接口。函数式接口可以包含多个默认方法、类方法,但只能声明一个抽象方法。


lamabd表达式


强制系统垃圾回收有如下两种方式:

➢ 调用System类的gc()静态方法:System.gc()。

➢ 调用Runtime对象的gc()实例方法:Runtime.getRuntime().gc()。


系统类的使用


不同的是,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高。



String类提供了大量构造器来创建String对象,其中如下几个有特殊用途。

➢ String():创建一个包含0个字符串序列的String对象(并不是返回null)。

➢ String(byte[] bytes, Charset charset):使用指定的字符集将指定的byte[]数组解码成一个新的String对象。

➢ String(byte[] bytes, int offset, int length):使用平台的默认字符集将指定的byte[]数组从offset开始、长度为length的子数组解码成一个新的String对象。

➢ String(byte[] bytes, int offset, int length, String charsetName):使用指定的字符集将指定的byte[]数组从offset开始、长度为length的子数组解码成一个新的String对象。

➢ String(byte[] bytes, String charsetName):使用指定的字符集将指定的byte[]数组解码成一个新的String对象。➢ String(char[] value, int offset, int count):将指定的字符数组从offset开始、长度为count的字符元素连缀成字符串。

➢ String(String original):根据字符串直接量来创建一个String对象。也就是说,新创建的String对象是该参数字符串的副本。➢ String(StringBuffer buffer):根据StringBuffer对象来创建对应的String对象。

➢ String(StringBuilder builder):根据StringBuilder对象来创建对应的String对象。String类也提供了大量方法来操作字符串对象,下面详细介绍这些常用方法。

➢ int compareTo(String anotherString):比较两个字符串的大小。如果两个字符串的字符序列相等,则返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差。另一种情况,较长字符串的前面部分恰巧是较短的字符串,则返回它们的长度差。

➢ char charAt(int index):获取字符串中指定位置的字符。其中,参数index指的是字符串的序数,字符串的序数从0开始到length()-1

➢ String concat(String str):将该String对象与str连接在一起。与Java提供的字符串连接运算符“+”的功能相同。

➢ boolean contentEquals(StringBuffer sb):将该String对象与StringBuffer对象sb进行比较,当它们包含的字符序列相同时返回true。

➢ static String copyValueOf(char[] data):将字符数组连缀成字符串,与String(char[]content)构造器的功能相同。

➢ static String copyValueOf(char[] data, int offset, int count):将char数组的子数组中的元素连缀成字符串,与String(char[] value,int offset,int count)构造器的功能相同

➢ boolean endsWith(String suffix):返回该String对象是否以suffix结尾。

➢ boolean equals(Object anObject):将该字符串与指定对象比较,如果二者包含的字符序列相等,则返回true;否则返回false。

➢ boolean equalsIgnoreCase(String str):与前一个方法基本相似,只是忽略字符的大小写。

➢ byte[] getBytes():将该String对象转换成byte数组。

➢ void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):该方法将字符串中从srcBegin开始,到srcEnd结束的字符复制到dst字符数组中,其中dstBegin为目标字符数组的起始复制位置。

➢ int indexOf(int ch):找出ch字符在该字符串中第一次出现的位置。

➢ int indexOf(int ch, int fromIndex):找出ch字符在该字符串中从fromIndex开始后第一次出现的位置。

➢ int indexOf(String str):找出str子字符串在该字符串中第一次出现的位置。

➢ int indexOf(String str, int fromIndex):找出str子字符串在该字符串中从fromIndex开始后第一次出现的位置。

➢ int lastIndexOf(int ch):找出ch字符在该字符串中最后一次出现的位置。

➢ int lastIndexOf(int ch, int fromIndex):找出ch字符在该字符串中从fromIndex开始后最后一次出现的位置。

➢ int lastIndexOf(String str):找出str子字符串在该字符串中最后一次出现的位置。

➢ int lastIndexOf(String str, int fromIndex):找出str子字符串在该字符串中从fromIndex开始后最后一次出现的位置。

➢ int length():返回当前字符串长度。

➢ String replace(char oldChar, char newChar):将字符串中的第一个oldChar替换成newChar。

➢ boolean startsWith(String prefix):该String对象是否以prefix开始。

➢ boolean startsWith(String prefix, int toffset):该String对象从toffset位置算起,是否以prefix开始。

➢ String substring(int beginIndex):获取从beginIndex位置开始到结束的子字符串。

➢ String substring(int beginIndex, int endIndex):获取从beginIndex位置开始到endIndex位置的子字符串。

➢ char[] toCharArray():将该String对象转换成char数组。

➢ String toLowerCase():将字符串转换成小写。➢ String toUpperCase():将字符串转换成大写

➢ static String valueOf(X x):一系列用于将基本类型值转换为String对象的方法。



ThreadLocalRandom类是Java 7新增的一个类,它是Random的增强版。在并发访问的环境下,使用ThreadLocalRandom来代替Random可以减少多线程资源竞争,最终保证系统具有更好的线程安全性。







➢ Greedy(贪婪模式):数量表示符默认采用贪婪模式,除非另有表示。贪婪模式的表达式会一直匹配下去,直到无法匹配为止。如果你发现表达式匹配的结果与预期的不符,很有可能是因为——你以为表达式只会匹配前面几个字符,而实际上它是贪婪模式,所以会一直匹配下去。

➢ Reluctant(勉强模式):用问号后缀(?)表示,它只会匹配最少的字符。也称为最小匹配模式。

➢ Possessive(占有模式):用加号后缀(+)表示,目前只有Java支持占有模式,通常比较少用。



Pattern是不可变类,可供多个并发线程安全使用。Matcher类提供了如下几个常用方法:

➢ find():返回目标字符串中是否包含与Pattern匹配的子串。

➢ group():返回上一次与Pattern匹配的子串。

➢ start():返回上一次与Pattern匹配的子串在目标字符串中的开始位置。

➢ end():返回上一次与Pattern匹配的子串在目标字符串中的结束位置加1。

➢ lookingAt():返回目标字符串前面部分与Pattern是否匹配。

➢ matches():返回整个目标字符串与Pattern是否匹配。

➢ reset():将现有的Matcher对象应用于一个新的字符序列。


相关文章

  • Android 知识梳理目录 - 好吧,这是一个很"干

    一、Java 知识梳理 Java&Android 基础知识梳理(1) - 注解Java&Android 基础知识梳...

  • java基础知识

    title: java基础知识tags: [java基础知识] 位运算符 java种的运算符有 “&”,“|”,“...

  • java 基础知识学习(五)

    title: java 基础知识学习(五)date: 2019-04-30 22:02:40tags: javac...

  • java基础知识(五)

    函数式接口代表只包含一个抽象方法的接口。函数式接口可以包含多个默认方法、类方法,但只能声明一个抽象方法。 强制系统...

  • Java基础知识整理(一)

    1.Java基础知识体系 2.Java技术体系平台 3.Java语言特点与核心机制 1.Java基础知识体系 2....

  • 大话Java持久层

    基础知识储备: Java SE(Java语言【java.lang】、Java集合框架【java.util】) Ja...

  • Android面试题4

    1 Java基础知识。线程,java虚拟机,内存模型等。2 Android基础知识。官方API,常用控件源码,自定...

  • Java 序列化

    title: Java 序列化categories: 后台开发tags: java 基础知识 必备 Java 序列...

  • Java基础知识脑图总结

    Java基础知识脑图总结

  • Android内存泄漏

    文章包括两部分: (1)java内存泄漏基础知识 (2)Android内存泄漏。 一.Java内存泄漏基础知识 1...

网友评论

      本文标题:java基础知识(五)

      本文链接:https://www.haomeiwen.com/subject/ybflnhtx.html