十、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线程不安全


相关文章
|
2月前
|
人工智能 安全 架构师
告别旅行规划的"需求文档地狱"!这个AI提示词库,让你像调API一样定制完美旅程
作为开发者,旅行规划如同“需求地狱”:信息碎片、需求多变、缺乏测试。本文提出一套“企业级”AI提示词库,将模糊需求转化为结构化“API请求”,实现标准化输入输出,让AI成为你的专属旅行架构师,30分钟生成专业定制方案,提升决策质量,降低90%时间成本。
454 129
|
27天前
|
JSON API 数据格式
小红书API接口文档:笔记详情数据开发手册
小红书笔记详情API可获取指定笔记的标题、正文、互动数据及多媒体资源,支持字段筛选与评论加载。通过note_id和access_token发起GET/POST请求,配合签名验证,广泛用于内容分析与营销优化。
|
1月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
233 5
|
3月前
|
API 开发工具 开发者
客流类API实测:门店到访客群画像数据
本文介绍了一个实用的API——“门店到访客群画像分布”,适用于线下实体门店进行客群画像分析。该API支持多种画像维度,如性别、年龄、职业、消费偏好等,帮助商家深入了解顾客特征,提升运营效率。文章详细说明了API的参数配置、响应数据、接入流程,并附有Python调用示例,便于开发者快速集成。适合零售、餐饮等行业从业者使用。
客流类API实测:门店到访客群画像数据
阿里云短信服务文档与实际API不符
阿里云短信服务文档与实际API不符
|
5月前
|
存储 编译器 C语言
关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论
你真的了解string的'\0'么?你知道创建一个string a("abcddddddddddddddddddddddddd", 16);这样的string对象要创建多少个对象么?你知道string与vector进行扩容时进行了怎么的操作么?你知道怎么求Vector 最大 最小值 索引 位置么?
130 0
|
8月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
8月前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
197 11
|
8月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
224 9
|
8月前
|
存储 JavaScript Java
课时44:String类对象两种实例化方式比较
本次课程的主要讨论了两种处理模式在Java程序中的应用,直接赋值和构造方法实例化。此外,还讨论了字符串池的概念,指出在Java程序的底层,DOM提供了专门的字符串池,用于存储和查找字符串。 1.直接赋值的对象化模式 2.字符串池的概念 3.构造方法实例化
136 1