Java中String类常用类型实例总结
作者:Fly?upward 发布时间:2023-07-06 19:15:43
标签:java,string,类型
1.创建字符串的方法
1.1构造
方式一、直接构造
String str = "fly";
方式二 、调用构造方法进行构造对象
String str1 = new String("name");
方式三、利用字符数组进行转换
char[] ch = {'a','s','d'};
String str2 = new String(ch);
1.2引用对象
public static void main(String[] args) {
//str 、 str1 都指向同一个对象
String str = "asd";
String str1 = str;
System.out.println(str);
System.out.println(str1);
System.out.println("---------------");
str = "fly";//str指向新的对象,str1 没有变,还指着原来的对象
System.out.println(str);
System.out.println(str1);
}
public static void func(String s,char[] array) {
s = "fly";
array[0] = 'm';
}
public static void main(String[] args) {
String str = "asfgh";
char[] ch = {'w','s','d'};
func(str,ch);
System.out.println(str);
System.out.println(Arrays.toString(ch));
}
2.字符串的比较
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
}
public static void main(String[] args) {
String str1 = "ABC";
String str2 = "abc";
boolean flg = str1.equalsIgnoreCase(str2);//不看大小写判断字符串是否相等
System.out.println(flg);
}
3.字符串的不可改变性
字符串是一种不可变对象 . 它的内容不可改变
public static void main(String[] args) {
String str = "hello ";
str = str + "world ";
str += "!!!";
System.out.println(str);
}
4.数组转字符串
public static void main(String[] args) {
char[] val = {'a','b','c','d','f'};
String str = new String(val);
String str2 = new String(val,1,3);//区间变字符串
System.out.println(str);
System.out.println("------------");
String str3 = "hello";
char ch = str3.charAt(2);//获取下标字符
System.out.println(ch);
char[] chars = str3.toCharArray();//把str3指向的字符串变为数组
System.out.println(Arrays.toString(chars));
}
5.判断是否是数字字符串 isNumberChar( )
public static boolean isNumberChar(String s) {
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);//逐个获取字符
boolean flg = Character.isDigit(c);//判断某个字符是不是数字
if(flg == false) {
return false;
}
/*if (c < '0' || c > '9') {
return false;
}*/
}
return true;
}
public static void main(String[] args) {
String str = "0123456789";
System.out.println(isNumberChar(str));
}
6.字节变字符串
public static void main(String[] args) {
byte[] bytes = {97,98,99,100};//字节对应的字母
String str = new String(bytes);
System.out.println(str);
String str2 = new String(bytes,1,3);
System.out.println(str2);
System.out.println("-------------");
String str3 = "flying";
byte[] bytes1 = str3.getBytes();//获取字符对应的字节
System.out.println(Arrays.toString(bytes1));//以数组形式输出
}
7.字符串的查找
public static void main(String[] args) {
String str = "babcdabcab";
String str2 = "abc";
boolean flg = str.contains(str2);//判断是否含有子字符串
System.out.println(flg);
System.out.println("-----------");
int index = str.indexOf(str2);//找出子字符串第一次开始出现的位置
System.out.println(index);
System.out.println(str.lastIndexOf(str2,8));//从指定位置往前找
System.out.println(str.startsWith("a"));//判断是否是以其字母开头的字符串
System.out.println(str.startsWith("a",1));//判断某位置是否是该字母
System.out.println(str.endsWith("ab"));//判断是否是以该字符串结尾
}
8.字符的替换
public static void main(String[] args) {
String str = "babcdabcab";
String ret = str.replace('a','f');//将所有字符a替换成f
//String ret = str.replaceFirst('a','f');//将第一次出现的字符a替换成f
System.out.println(ret);
}
9.字符串的分割
9.1以单个符号来分割
public static void main(String[] args) {
String str = "name=fly&age=20";
String[] strings = str.split("&");//以字符&分割
for (String s:strings) {
// System.out.println(s);
String[] ss = s.split("=");//分割之后再以=分割
for (String tmp:ss) {
System.out.println(tmp);
}
}
}
9.2多个分隔符分割
public static void main(String[] args) {
String str3 = "fly%12&age#hello";
String[] ret = str3.split("%|&|#");//多个分隔符分割,用|隔开
for (String sss:ret) {
System.out.println(sss);
}
}
9.3特殊符号分割
1. 字符 "|","*","+" 都得加上转义字符,前面加上 "\".
2. 而如果是 "" ,那么就得写成 "\\".
3. 如果一个字符串中有多个分隔符,可以用 "|" 作为连字符 .
public static void main(String[] args) {
String str = "191.157.1.1";
String[] result = str.split("\\.");
for (String s:result) {
System.out.println(s);
}
System.out.println("-------------");
String str2 = "191\\157\\1\\1";
String[] strings = str2.split("\\\\",3);//4是分为四组
for (String ss:strings) {
System.out.println(ss);
}
String str3 = "fly%12&age#hello";
String[] ret = str3.split("%|&|#");//多个分隔符分割,用|隔开
for (String sss:ret) {
System.out.println(sss);
}
}
10.提取子串str.substring( )
public static void main(String[] args) {
String str = "abcdefg";
String sub = str.substring(2,4);//提取子串,左闭右开
System.out.println(sub);
}
11.去空格
public static void main(String[] args) {
String str = " abc def ";
String ret = str.trim();//去除字符串左右两边的空格
System.out.print(ret);
System.out.println("---");
}
12.字符串的拼接
public static void main(String[] args) {
String str = "abc";
String ret = str.concat("fly");//字符串的拼接
System.out.println(ret);
}
13.StringBuffer
13.1字符串的拼接
public static void main(String[] args) {
String str = "hello";
StringBuffer sb = new StringBuffer();
sb.append(str);
for (int i = 0; i < 10; i++) {
sb.append(i);
str = sb.toString();
}
System.out.println(str);
}
13.2方法的返回类型
public static StringBuffer func() {
String str = "fly";
return new StringBuffer(str);
}
public static void main(String[] args) {
System.out.println(func());
}
来源:https://blog.csdn.net/m0_60494863/article/details/122068832


猜你喜欢
- 还是我们自定View的那几个步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、
- 本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相关内容,具体介绍如下。Thymeleaf提供了一组Spring集成,允
- 本文为大家分享了java interface的两个经典用法,供大家参考,具体内容如下1.Java多态接口动态加载实例编写一个通用程序,用来计
- 很多人的程序在本地运行是好的,但是发布在服务器上后就会有各种各样的问题,但是服务器上又不能直接调试,所以直接读写本地日志成为解决问题的关键,
- 背景近期在调研一个开源仓库,于是将 代码 从github下载后,当IDEA sync依赖时出现Cannot resolve org.four
- 如何在Unity里修改FBX模型自带的动画我们在把模型做成预制体的时候会出现,模型当前看到的位置和动画播放的位置不一致,而且模型动画文件又是
- Android ToggleButton 详解在Android的开发过程中,对于ToggleButton的使用频率也是相当的高的,下面我就来
- 发现坑最近在配置项目主题的时候报了如下错误:This Activity already has an action bar supplied
- 前言在做项目的时候,遇到一个需求,需要我对Chart图标标记数据正在运行,实现数据可视化,因为我们的表格是隐藏Y轴的刻度是看不到数据值的,于
- 一个简单的红包生成算法,代码如下:/** * 红包 * @param n * @param money 单位:分 * @return **/
- Java.lang 中自带的注解@Override:表示当前的方法定义将覆盖基类的方法。如果你不小心拼写错误,或者方法签名被错误拼写的时候,
- 1.下载idea的 《.ignore》 插件,重启idea生效2.添加自己想要忽略的文件夹及文件,一般选这个就够了3.如果想要忽略提交的文件
- Java实现并发的几种方法Java程序默认以单线程方式运行。synchronizedJava 用过synchronized 关键字来保证一次
- 一、银行存取款1.前言毕竟谁不喜欢钱呢!(不是😅)我看谁不喜欢在知识的海洋中遨游😤!2.描述银行存取款的流程是人们非常熟悉的事情,用户可以在
- 最近有时间,写一些很简单、很基础的东西,主要在操作层面。主要考虑如下: 1、经常搭建开发环境,所以有必要记录一下,自己也可以备查; 2、给新
- 数据传输在Android开发过程中,我们常常通过Intent在各个组件之间传递数据。例如在使用startActivity(android.c
- 目录前言一、Apache poi1.1 首先添加依赖1.2 导出excel1.2.1 HSSF方式导出(.xls方式)1.2.2 XSSF方
- 文件比较平常都是用Beyond Compare,可以说离不开的神器,特别是针对代码比较这块,确实挺好用的。不过Beyond Compare平
- C语言求三次方根前话说到C语言求根,我们一般会想到用sqrt(x)函数,它的输入值和返回值都是double型,x取整将会导致编译器错误。但是
- 本文实例讲述的是AlertDialog,这种对话框会经常遇到。AlertDialog跟WIN32开发中的Dialog不一样,AlertDia