十、JavaSE进阶之API文档及常用类(String)。

简介: API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

一、API概述


什么是API?


API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。


API的使用

1.打开API帮助文档


1.png


2.单击显示出现目录等功能


1.png


3. 查看Java中的包以及包中的类


二、String类



1.概述


String是不变对象,即:字符串对象创建后,表示的字符内容不可变,若改变必定创建新对象


java对于字符串的优化:

字符串常量池,这是在堆内存中开辟的一块空间,用于保存所有使用字面量形式创建的字符串对象,当再次使用该字面量创建新的字符串时,会直接重用而不会再创建新的以达到节省内存开销的目的.

public class Text {
    public static void main(String[] args) {
            String s1="abcdef";
            String s2=new String("xy");
            String s3=s1+s2;
        System.out.println(s1+"\t"+s2+"\t"+s3);
    }
}


1.png

2.常用构造方法:


i.String(char[] value) 分配一个新的 String,它代表了目前包含在字符数组参数字符序列。

ii.String(char[] value, int offset, int count) 分配一个包含字符与字符数组数组参数的新 String。

iii.String(String original) 初始化新创建的对象 String所以它代表相同的字符序列的说法;换句话说,新创建的字符串是一个副本的参数字符串。

iiii.String() 初始化新创建的 String对象,它代表了一个空字符序列。


3.String类常用的方法:


(1)String substring(int start,int end) 截取当前字符串中指定范围内的字符串


   

        String s1 = newString("abcdef");
        String str1=s1.substring(2,5);
        System.out.println(str1);

(2)charAt(int index) 获取当前字符串中指定位置对应的字符


   

        String s1 = new String("abcdef");
        char c1=s1.charAt(2);
        System.out.println(c1);

(3)compareTo(String anotherString) 比较两个字符串的字典。


 

      String s1 = "abcdef";
        String s2="abd";
        int a=s1.compareTo(s2);
        System.out.println(a);

(4)String toUpperCase() String toLowerCase() 将当前字符串中的英文部分转换为全大写或全小写


   

        String str="cvbdfe";
        System.out.println(str.toUpperCase());
        String str2="ACBDFE";
        System.out.println(str2.toLowerCase());

(5)String trim() 去除当前字符串两侧的空白字符


   String str = "  avcd  ";
   System.out.println(str.trim());

(6)int len=str.length(); 获取当前字符串的长度(字符个数)


 

        String str="chsujahsnmje";
        System.out.println(str.length());

(7)boolean startsWith(String str) boolean endsWith(String str) 判断字符串是否是以给定的字符串开始或结尾的


   

        String str="acbvgdem";
        System.out.println(str.startsWith("a"));
        System.out.println(str.endsWith("m"));

(8)equals(Object anObject)字符串相等比较,不忽略大小写


 

        String s1="abcd";
        String s2="abcd";
        System.out.println(s1.equals(s2));

(9)equalsIgnoreCase(String anotherString)字符串相等比较,忽略大小写


 

        String s1="abcd";
        String s2="ABCd";
        System.out.println(s1.equalsIgnoreCase(s2));

(10)indexOf(int ch) 取得指定字符在字符串的位置


   

        String s1="abcd";
        System.out.println(s1.indexOf("b"));

(11)lastIndexOf(int ch) 返回在指定字符的最后一个发生的字符串内的索引。


        String s1="abcdbdchb";
        System.out.println(s1.lastIndexOf("b"));

(12)replaceAll(String regex, String replacement)替换字符串中指定的内容


    String str="我是中国人";
    System.out.println(str.replaceAll("中国","陕西"));

(13)split(String regex) 根据指定的表达式拆分字符串


        String str="abccba";
        String[] s=str.split("c");
        System.out.println(Arrays.toString(s));

(14). valueOf,将其他类型转换成字符串


        System.out.println(String.valueOf(12));
        System.out.println(String.valueOf('v'));
        System.out.println(String.valueOf(123456L));
        System.out.println(String.valueOf(23.45F));
        System.out.println(String.valueOf(123.95));
        System.out.println(String.valueOf(true));


三、 StringBuffer 和 StringBuilder


1.StringBuffer


StringBuffer 称为字符串缓冲区,它的工作原理是:预先申请一块内存,存放字符序列,如果字符序列满了,会重新改变缓存区的大小,以容纳更多的字符序StringBuffer 是可变对象,这个是 String 最大的不同。

如果使用大量的字符串拼接时,使用StringBuffer类。(底层为初始化16个长度的byte数组)


1.常用方法:


//拼接字符串调用append();方法

   

//拼接字符串调用append();方法
        StringBuffer sbStr = new StringBuffer();
        sbStr.append("a");
        sbStr.append("b");
        System.out.println(sbStr);

2.StringBuilder


1.String的优化措施仅照顾重用性,因此频繁修改字符串会带来内存开销大,运行效率差的结果对此,java提供一个专门用于修改字符串的API

2.其内部维护一个可变的char数组,所有的修改都是在这个数组中进行的,因此开销小,性能好,并且其提供了

便于修改字符串的一系列方法,包括了增,删,改,插等基本操作


1.常用方法:

 StringBuilder builder=new StringBuilder();
        //拼接
        builder.append("为了拯救世界!");
        System.out.println(builder);
        //删除
        builder.delete(0,2);
        System.out.println(builder);
        //插入
        builder.insert(0,"我们");
        System.out.println(builder);
        //修改
        builder.replace(2,5,"改变世界");
        System.out.println(builder);
为了拯救世界!
拯救世界!
我们拯救世界!
我们改变世界界!


3. StringBuffer 和 StringBuilder区别


StringBuffer中的方法有synchronized关键字修饰表示在多线程下是安全的StringBuilder线程不安全


相关文章
|
4天前
|
Java 编译器 ice
【Java开发指南 | 第十五篇】Java Character 类、String 类
【Java开发指南 | 第十五篇】Java Character 类、String 类
24 1
|
4天前
|
敏捷开发 测试技术 API
云效产品使用常见问题之代码仓库不支持API文档如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4天前
|
C语言 C++
【C++】string类(常用接口)
【C++】string类(常用接口)
21 1
|
1天前
|
安全 Java API
Java进阶-Java Stream API详解与使用
效、更易于维护的代码,同时享受到函数式编程带来的好处。
9 2
|
2天前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
24 7
|
3天前
|
C语言 C++ 容器
C++ string类
C++ string类
9 0
|
4天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
12 0
|
4天前
|
编译器 C++
【C++】继续学习 string类 吧
首先不得不说的是由于历史原因,string的接口多达130多个,简直冗杂… 所以学习过程中,我们只需要选取常用的,好用的来进行使用即可(有种垃圾堆里翻美食的感觉)
9 1
|
4天前
|
算法 安全 程序员
【C++】STL学习之旅——初识STL,认识string类
现在我正式开始学习STL,这让我期待好久了,一想到不用手撕链表,手搓堆栈,心里非常爽
16 0
|
4天前
|
存储 安全 测试技术
【C++】string学习 — 手搓string类项目
C++ 的 string 类是 C++ 标准库中提供的一个用于处理字符串的类。它在 C++ 的历史中扮演了重要的角色,为字符串处理提供了更加方便、高效的方法。
18 0
【C++】string学习 — 手搓string类项目