java常用类--字符串
- String
import java.io.IOException;
import java.util.Arrays; public class Linkin
{
public static void main(String[] args) throws IOException
{
String str = "LinkinPark...";
//找到某一处char值
System.out.println(str.charAt(0));
//测试某一个字符串是否和当前字符串相同
System.out.println("Linkin".equals(str));
//判断该字符串的前缀和后缀
System.out.println(str.startsWith("Lin"));
System.out.println(str.endsWith("..."));
//判断该字符串是否包含指定的内容
System.out.println(str.contains("kin"));
//将指定字符串连接到此字符串的结尾 一般不怎么用 直接用+号连接就好了
System.out.println(str.concat("binger"));
System.out.println(str+"binger");
//使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
byte[] bytes = str.getBytes();
for (byte b : bytes) {
System.out.println(b);
}
//返回指定子字符串在此字符串中第一次出现处的索引
System.out.println(str.indexOf("kin"));
//返回指定字符在此字符串中最后一次出现处的索引
System.out.println(str.lastIndexOf("P"));
//当且仅当 length() 为 0 时返回 true。
System.out.println(str.isEmpty());
//返回此字符串的长度
System.out.println(str.length());
//返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
System.out.println(str.replace("L", "B"));
//根据给定正则表达式的匹配拆分此字符串,返回的是字符串数组
System.out.println(Arrays.asList(str.split("i")));
//返回字符串的副本,忽略前导空白和尾部空白
System.out.println(str.trim());
//返回一个新的字符串,它是此字符串的一个子字符串。 后面还可以跟一个参数,表示结尾
System.out.println(str.substring(2));
//返回 int 参数的字符串表示形式 一般不怎么用 直接用加号连接就好了
System.out.println(String.valueOf(2));
System.out.println(2+"");
} }
- 字符串与字符数组
String类提供了将字符串存放到数组中的方法:public void getChars(int start,int end,char c[],int offset )
将字符串中的全部字符存放在一个字符数组中的方法:public char[] toCharArray()
- 字符串与字节数组
public byte[] getBytes() 方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。
public byte[] getBytes(String charsetName) 使用参数指定字符编码,将当前字符串转化为一个字节数组。
- StringBuffer,StringBuilder
StringBuffer append(Object o) StringBuffer append(char n)
StringBuffer append(long n),StringBuffer append(boolean n),
StringBuffer append(float n),StringBuffer append(double n),
public chat charAt(int n )
public void setCharAt(int n ,char ch)
StringBuffer insert(int index, String str) :
public StringBuffer reverse()
StringBuffer delete(int startIndex, int endIndex)
StringBuffer replace( int startIndex ,int endIndex, String str)
import java.io.IOException; public class Linkin
{
public static void main(String[] args) throws IOException
{
//一般使用的构造器有2个 一个无参的 一个传入一个字符串的
StringBuilder sb = new StringBuilder();
//追加字符串
sb.append("LinkinPark...");
//替换
sb.replace(0, 1, "binger");
//删除
sb.delete(0, 1);
//反转
sb.reverse();
// 设置字符序列的长度
sb.setLength(3);
//toString 返回字符串
System.out.println(sb.toString());
} }
String:不可变字符序列
StringBuilder:可变字符序列、效率高、线程不安全
StringBuffer:可变字符序列、效率低、线程安全
String使用陷阱:
string s="a"; //创建了一个字符串 s=s+"b"; //实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b"(也就是"ab")。如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,降低效率。如果这样的操作放到循环中,会极大影响程序的性能。在玩hibernate的时候,写hql往往要串好多的字符串,记住以后不管是否拼接不拼接hql,统一使用stringBuiler。
java常用类--字符串的更多相关文章
- Java基础 —— Java常用类
Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...
- Java常用类学习笔记总结
Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...
- Java 常用类总结(SE基础)
本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...
- Java常用类的使用
Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...
- Java常用类之要点总结
Java常用类之要点总结
- Java常用类:包装类,String,日期类,Math,File,枚举类
Java常用类:包装类,String,日期类,Math,File,枚举类
- java常用类-上
一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lan ...
- 第十四章 Java常用类
14.常用类 14.1 字符串相关的类 1课时 14.2 JDK 8之前时间日期API 1课时 14.3 JDK8中新时间日期API 1课时 14.4 JDK8中的Optional类 1课时 14.5 ...
- Java 常用类String类、StringBuffer类
常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { publi ...
随机推荐
- 数据对象转json与md5加密注意事项
项目中遇到将OC数据对象类型转化字符类型,然后进行MD5加密的技术流程,在转化字符数组到字符加密过程中遇到一些问题. 问题 转化后的字符进行md5加密,出现与服务器加密结果不匹配的情况 分析 在对代码 ...
- ubuntu PHP相关操作
php开启重写模块 vim /etc/apache2/apache2.conf 写入<Directory /阿帕奇的项目目录> AllowOverride All </Directo ...
- ES6小点心之通用弹窗
小点心,顾名思义,开箱即食,拿来即用. 前端业务逻辑主要分为[交互效果]和[数据展示]两方面.数据展示可使用 MVVM 框架来实现.前端的交互效果常用的也就那么几种,比如弹窗,楼层定位,倒计时,下拉刷 ...
- AI时代:推荐引擎正在塑造人类
We shape our tools and afterwards our tools shape us. ------Marshall McLuhan 麦克卢汉说:"我们塑造了工具,反过来 ...
- 使用GitHub+hexo搭建个人独立博客
前言 使用github pages服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话 ...
- web服务器,应用程序服务器,http服务器的区别
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器? 这个概念很重要. Web服务器的基本功能就是提供We ...
- 加速scp传输速度
当需要在机器之间传输400GB文件的时候,你就会非常在意传输的速度了.默认情况下(约125MB带宽,网络延迟17ms,Intel E5-2430,本文后续讨论默认是指该环境),scp的速度约为40MB ...
- 明星单品tab
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Python源码剖析之准备工作
一个Python程序开发者, 也是C语言爱好者, 为了加强自己对Python语言实现的理解, 最近选择阅读下陈儒老师的书, 对Python3.5.1源码进行阅读, 再次记录下读书笔记. 一.Pyth ...
- React-Native 学习笔记-Android开发平台-开发环境搭建
详细步骤请查看官网对应文档,BUT,有些注意事项请注意! 1,优先安装Node.js,因为后面可以使用npm安装软件, 2,注意不要使用CNPM!!!!!!!!! 3,Android Studio 请 ...