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 ...
随机推荐
- Error: Your project contains C++ files but it is not using a supported native build system
我在编写有关JNI的代码的时候回报这个错误,我在网上搜了相关的资料后,找到了一篇文章解决了这个问题,点击这里查看这篇文章,我在照着这篇文章尝试的时候,总有一些错误,现在我把自己详细的解决流程贴出来,供 ...
- OC 异步顺序加载的方法
方法一:发射信号量 OC -异步顺序加载 先调用A接口,再调用B接口,再调用C接口 dispatch_semaphore_t semaphore = dispatch_semaphore_create ...
- JSON 数据操作
2018,狗年.如果在你出生日期的年份上加12等于2018的话,私聊我,今年是你的本命年,你得发红包!!! 子(鼠).丑(牛).寅(虎).卯(兔).辰(龙).巳(蛇).午(马).未(羊).申(猴).酉 ...
- React Native 网络层分析
文:志俊(沪江Web前端) 本文原创,转载请注明作者及出处 在使用React Native开发中,我们熟练的采用JavaScript的方式发送请求的方式发送一个请求到服务端,但是处理这个请求的过程其实 ...
- linux 安装MySql 5.7.21 操作步骤
一:到mysql官网下载最新的mysql包 mysql-5.7.21-linux-glibc2.12-x86_64 https://dev.mysql.com/downloads/mysql/ 二:在 ...
- Sass和Compass入门
一.前言 1.Sass是什么? Sass可以简化你的Css工作流,并可以使你的Css的扩展和维护工作变的更加容易!例如,曾几时何,因为客户的需求的变更,你必须不断的通过查找和替换来更改一个像素值,或者 ...
- 常用OJ名字+地址(自用)
常用OJ名字+地址 不定期更新,自己用,有补充的也可以给我说说哈. 中文 openjudge 地址:openjudge.cn 说明:北大提供的一个平台,学校可申请小组: 比较好的小组: 计算概论:ic ...
- [bzoj1692] [Usaco2007 Dec]队列变换 (hash||暴力)
本题同bzoj1640...双倍经验双倍幸福 虽然数据范围n=3w然而O(n²)毫无压力= = http://blog.csdn.net/xueyifan1993/article/details/77 ...
- 命运(经典dp)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2571 命运 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- vue实现侧边栏手风琴效果
模板 代码如下 html <template> <div class="header"> <ul> <!-- 循环数据在点击调用chang ...