String常用API

这里写目录标题

  • 什么是JDK API
  • 文档注释规范
  • 字符串
    • String以及常用的API
    • String常量池
  • String常用API
  • StringBuilder
  • StringBuffer

什么是JDK API

  • JDK中包含大量打API类库,所谓API(Application Programming Interface,应用程序编程接口)就是一些已写好.可供直接调用的功能(在Java语言中,这些功能以类的形式封装)
  • JDK API包含的类功能强大,经常使用的有:字符串操作.集合操作.文件操作.输入输出操作.网络操作.多线程等等.

文档注释规范

  • 以/*开始,以/结束
  • 在类和方法的开头,用于说明作者,时间,版本,要实现的详细描述信息;
  • 通过javadoc工具,可以轻松的将此注释转换为HTML文档说明;
  • 文档注释不同于普通的注释(//…或//),普同注释写在程序之中,用于程序员进行代码维护和交流,无法通过写工具生成文档;而文档注释(/**…*/)写在类和方法的开头,专门用于生成API使用者进行参考的文档资料

字符串

String以及常用的API

  • String是不可改变的对象,用final修饰,不能被继承
  • 字符串底层封装了字符数组及针对字符数组的操作算法
  • 字符串一旦创建,对象永远无法改变,但是字符串引用可以重新赋值
  • java字符串中任何一个字符对应16位(两个字节)的定长Unicode编码

String常量池

  • java为了提高性能,静态字符串(字面量/常量/常量连接的结果)在常量池中创建,并尽量使用同一个对象,重用静态字符串;
  • 对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在即返回该对象
  • /*测试String常量池/
public void testConstantPool() {
String str1 = "Hello";
//不会创建新的String对象,而是使用常量池中已有的"Hello".
Stringstr2 = "Hello";
System.out.println(str1 == str2); // 输出?
//使用new关键字会创建新的String对象
String str3 = new String("Hello")
System.out.println(str1 == str3); //输出?
}

String常用API

使用indexOf实现检索

  • indexOf方法用于实现在字符串中检索另外一个字符串
    String提供几个重载的indexOf方法
    1). **int indexOf(String str)在字符串中检索str,返回其第一次出现的位置,如果找不到则返回-1
    2). i
    nt indexOf(String str,int fromIndex)**从字符串的fromIndex位置开始检索
  • String还定义有lastIndexOf方法
    1). **int lastIndexOf(String str,int form)**str在字符串中多次出现时,将返回最后一个出现的位置
public void testIndexOf() {
Stringstr = "I can because i think i can";
int index = str.indexOf(" can");
System.out.println(index);      // 2
index = strlastIndexOf(" can");
System.out.println(index);     // 24
index = str.indexOf("can", 6);
System.out.println(index);    // 24
index = str.indexOf(" Can");
System.out.println(index);   // -1
  • substring获取字符串
    substring方法用于返回一个字符串的子字符串
    substring常用重载方法定义如下
    1).**String substring(int beginIndex,int endIndex)**返回字符串中从下标beginIndex(包括)开始到endIndex(不包括)结束的子字符串
    2).String sunstring(int beginIndex)返回字符串从下标beginIndex开始到字符串结尾的子字符串
public void testSubstring() {
Stringstr = "http://www.oracle.com";
String subStr = str.substring(11, 17 );
System.out.println(subStr); // oracle
subStr = str.substring( 7 );
System.out.println(subStr); // www.oracle.com
}
  • **trim()**去掉一个字符串前后空白
public void testTrim() {
String userName ="      good man         "
userName = userName.trim();
System.out. println( userName.length ( ) ); // 8
Syste m. out. println(userName);  // good man
}
  • **cahrAt(int index)**返回字符串指定位置的字符.参数index表示指定位置
  • startsWith()和endsWith()
    检查一个字符串是否以指定字符串开头或者结尾
public void testStartWithAndEndWith() {
String str = " Thinking in Java";
System. out. println(str.endsWith("Java")); // true
System. out. println(str.startsWith("T"));// true 
System. out.println(str.startsWith(" thinking”)); // false

  • toUpperCase() ----------转大写
  • toLowerCase()-----------转小写
  • isEmpty();--------------检查空字符串
  • length()----------------字符串长度

StringBuilder

  • 字符串构建器,可改变字符串,非线程安全,并发处理性能较快
  • append()追加字符串内容
  • insert()插入字符串
  • delete()删除字符串
  • replace()------------替换字符串
  • revers()-------------字符串反转

StringBuffer

  • 具有线程安全性,同步处理,性能较慢

热门文章

暂无图片
编程学习 ·

省市区三级行政区数据获取和GeoJson地图下载

文章目录1.背景2.行政区域数据获取3.获取GeoJson数据 1.背景 项目中用到省市区三级的行政区划的选择,在网上找到的数据与最新的行政区域划分不一致,也难以确认数据的完成性。 基于echarts完成数据地区分布图时,需要提供地区对应的geoJson格式地图。 2.行政区域数据获取 高德…
暂无图片
编程学习 ·

Centos7下redis6.0.5的详细安装步骤

Centos7下redis6.0.5的详细安装步骤: 0、官网浏览,安装wget 1、打开 https://redis.io/download,浏览最新的redis信息。 2、安装wget:执行命令:yum install wget -y 备注:-y的意思是yes 1、wget获得redis安装包 执行: wget http://download.redis.io/releases/redis-6.0…
暂无图片
编程学习 ·

怎么才能最短时、高效、踏实的学习 Python?

作者:飞绝眷岭 链接:https://www.zhihu.com/question/28530832/answer/58656332 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Dataquest 这个网站上提供了一系列和数据分析相关的python教程,从python基本语法到data analysis的基本函数…
暂无图片
编程学习 ·

Struts2远程代码执行漏洞复现

环境搭建docker pull medicean/vulapps:s_struts2_s2-029docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-029http://yourIP/default.action打开页面漏洞利用(%23_memberAccess[allowPrivateAccess]=true,%23_memberAccess[allowProtectedAccess]=true,%23_memberAcce…
暂无图片
编程学习 ·

Layui 扩展字体图标

layui 目前(2020-06-28)提供了168个图标,但是很多时候这些图标中没有自己想要的,今天在项目中想找一个二维码的图标,但是在layui提供的图标中并没有,此时我们可以扩展图标(阿里巴巴矢量图标库 www.iconfont.cn)layui提供的图标也是取材于此文章目录1. 进入阿里巴巴矢量…
暂无图片
编程学习 ·

移动自动化测试-Appium基础操作API

Appium自动化测试框架 学习目标: 1.能够安装Appium桌面客户端 2.能够安装Appium-python库 Appium介绍: Appium是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合型应用,且是垮平台的,可用于Android和IOS操作系统。 重要的是Appium是跨平台的,可以针对…
暂无图片
编程学习 ·

setuptools制作whl包实战讲解(一)

什么是 whl .whl格式的文件本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。我们可以使用我们非常熟悉的pip install 来安装whl包。 如: pip install mask_detect_v1.0.whl如何制作whl包…
暂无图片
编程学习 ·

最小生成树的java实现

文章目录一、概念二、算法2.1 Prim算法2.2 Kruskal算法 笔记来源:中国大学MOOC王道考研 一、概念连通图:图中任意两点都是连通的,那么图被称作连通图生成树:连通图包含全部顶点的一个极小连通子图最小生成树:在含有n个顶点的带权无向连通图中选择n-1条边,构成一棵极小连…
暂无图片
编程学习 ·

关于JavaScript的的高速缓存未命中分析【云图智联】

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/在本文中,我们将讨论创建和访问数据的方式可能对应用程序性能的影响。介绍JavaScript是一种非常高级的语言,在使用JavaScript开发的时候不必对存储器中的数据存储方式作过多的考虑。在本文中,我们将探讨数据如何存…
暂无图片
编程学习 ·

Hadoop(二)——HDFS的 I/O 流操作

API操作的HDFS系统都是框架封装好的,可以采用 I/O 流的方式实现数据的上传和下载。 HDFS文件上传 1、需求:将本地D盘上的honglou.txt文件上传到HDFS根目录 2、代码块@Test public void putFileToHDFS() throws IOException,InterruptedException,URISyntaxException{//1、获取…
暂无图片
编程学习 ·

pandas下-综合练习

综合练习端午节的淘宝粽子交易 端午节的淘宝粽子交易 (1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。 df=pd.read_csv(F:\Datewheel资料\pandas组队学习\Pandas(下)综合练习数据集\端午粽子数据.csv) df.head()df.info()#查看列名 df.columns()注意列名…
暂无图片
编程学习 ·

测试

java创建指定大小文件@TOC 软件功能测试中经常遇到上传文件大小校验功能,我们需要构造多种情况用于边界测试,因此需要创建不同大小的文件。 java中使用RandomAccessFile类可快速创建,代码如下: package com.study.demo;import java.io.*;public class CreaterFile {public …
暂无图片
编程学习 ·

JavaScript作用域--总结

JavaScript作用域是什么?咋一问让人确实很懵逼。作用域这个词耳熟能详,但作用域是什么,经常用却不知怎么说起。先从定义上来说,我觉得《不知道的JavaScript》一书说得很清晰,作用域是一套查找变量的规则。查找又从何说起?又是怎么一个查找法?说起这个不得不说JavaScript…
暂无图片
编程学习 ·

elasticSearch docker安装,记录安装过程

elasticSearch docker安装,记录安装过程安装elasticsearch命令 #在挂载的目录下新建两个目录 mkdir -p ./config mkdir -p ./data #docker 拉取镜像文件 docker pull elasticsearch:7.4.2 #拉取elasticsearch可视化镜像 docker pull kibana:7.4.2 #新建配置文件,yml格式,冒号后…
暂无图片
编程学习 ·

Java尚硅谷数据结构与算法学习记录(14)-AVL树

平衡二叉树(AVL树) 平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树, 可以保证查询效率较高。 具有以下特点:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红…
暂无图片
编程学习 ·

文件夹内图片批量重命名代码

文件夹内图片批量重命名代码import os import re import sys import cv2 import torchvision.transforms as transforms path = r"data/masks/" def renameall(path):fileList = os.listdir(path) # 待修改文件夹currentpath = os.getcwd() # 得到进程当前工作目录…
暂无图片
编程学习 ·

2.2.1String字符串

字符串比较equals():s1.equals(s2); equalsIgnoreCase():忽略大小写比较。去首尾空白字符 trim():" \tHello\r\n ".trim(); // "Hello" 替换子串根据字符或字符串替换:String s = "hello"; s.replace(l, w); // "hewwo",所有字符l…