7.23_java学习_字符串

本文深入探讨 Java 中 String 类与 StringBuffer 的常用操作,包括字符串的基本操作、转换、替换、切割、子串获取、转换及去除空格等。同时介绍了 String 类与 StringBuffer 的区别,以及基本数据类型与字符串之间的转换方法。

一:字符串常见操作

/*
String 中常见的操作!
1.获取

1)字符中包含的字符数
	int length();获取长度
2)根据位置获取位置上某个字符。
	int charAt(int index);
3)根据字符获取该字符在字符串中的位置。
	int indexOf(char ch);返回的是ch在字符串第一次出现的位置
	int indexOf(char ch, int fromIndex);从fromIndex指定位置开始。获取ch第一次出现的位置
    int indexOf(String str);返回的是str在字符串第一次出现的位置
	int indexOf(String str, int fromIndex);从fromIndex指定位置开始。获取在str第一次出现的位置
    
2,判断:
	1)字符串中是否包含某一个子串
		boolean contains(str);
	2)字符串中是否有内容
		boonean isEmpty();原理判断长度是否为零。
	3)字符串是否是以指定内容开头、
		boolean startsWith(str)
	4)字符串是否是以指定内容结束。
		boolean endWith(str);
	5)判断字符串内容是否相同
		boolean equals(str);
	6)判读内容是否相同,并忽略大小写
	    boolean equalsIgncreCase()
3.转换:
	1)将字符数组转成字符串
		构造函数:String(char[])
				  String(char[] ,offset,conut);转换其中一部分
		静态方法: 
		          static String copyValueOf(char[])
				  static String copyValueOf(char[] date,int offset ,int conut)
				  static String valueOf(char[]);
	2)将字符串转成字符数组
				  char[] toCharArray
	3)将字节数组转换字符串
				  String(byte[])
				  String(byte[] ,offset,conut);转换其中一部分
	4)将字符串转换字节数组
                  byte[] getByte();
	5)将基本数据类型转换成字符串
		static String valueOf(int)
		static String valueOf(double)
		特殊:字符串和字节数组在转换过程中,是可以指定编码表的

4,替换:
	String replace(oldchar newchar)

5,切割;
	String[] split(regex)

6,子串,获取字符串的一部分。
    String substring(begin);
	String substring(begin,end);//包含头不包含尾。

7,转换,去除空格,比较。
	1)将字符串转换成大写或小写
		String toUpperCase();
		String toLOwerCase();
	2)将字符串两端的多个空格去掉
		String trim();
	3)对两个字符串进行自然顺序比较
		String compareTo(str);
*/
class String1 
{
	public static void main(String[] args) 
	{
		String s1 = "abc";//s是一个类类型变量,“abc”是一个对象。
		                //字符串最大特点:一旦被初始化就不可以改变!
		s1 = "kk";//改变的是s的地址值“abc”空间没变!

		String s2 = new String("abc");
//---------面试问题:s1和s2的区别------------------
//s1在内存中一个对象
// s2在内存中两个对象
		System.out.println(s1.squals(s2));//String 类复写了Object类中的equals方法!
	}
}


 

二:StringBuffer常见操作

/*
StringBuffer是字符串缓冲区
是一个容器.
特点:
1,长度是可变化的。
2,可以字节操作多个数据类型
3,最终会通过toString

字符串缓冲区的操作
1,存储
	StringBufer append();//将指定数据作为数据的结尾
	s.append("abc").append(treu).append(34);//方法调用链
	插入
	StringBufer insert(int index);//插入到指定位置

2,删除
	StringBuffer delete(start,end);删除缓冲区的指定内容,包含start,不包含end
	StringBuffer deleteCharAt(index);删除指定位置的字符串。

3,获取
	char charAt(int index)
	int  indexOf(String str)
	int lastIndexOf(String str)
	int length()
	String substring(int start, int end)

4,修改
	StringBuffer replace(start , end, string);
	void setCharAt(int index,char ch);

5,反转
	StringBuffer reverse();

6,将缓冲区的指定数据,存储到指定字符数组中
void getChars(1,4,chs,1)

jdk1.5版本之后出现了StringBuilder

StringBuffer是线程同步。
StringBUilder是线程不同步(开发一般用)

升级三个因素:
1,提高效率
2,简化代码
3,提高安全性
*/
class StringBufferDemo 
{
	public static void main(String[] args) 
	{
		System.out.println("Hello World!");
	}
}
/*
基本数据类型对象包装类。
byte     Byte
short    Short
int		 Integer
long     Long
boolean  Boolean
float    Float
double   Double
char     Character

基本数据类型对象包装类的最常见作用、
就是用于基本数据类型和字符串类型之间做装换

基本数据类型转换字符串
基本数据类型+"";

基本数据类型.toString(基本数据类型值);

字符串转换基本数据类型
	1)静态
		xxx a = xxx.parseXxx(String);
	2)非静态
	    Integer i = new Integer("123");
		int num  = i.intValue();
十进制转换成其他进制
	toBinaryString();
	toHexString();
	toOctalString();
其他进制转换成十进制
	parseInt(String ,radix);
	
Integer x = 4//简化代码、自动装箱//new Integer(4);
x = x + 2;/自动拆箱后自动装箱

Integer a = 127;
Integer b = 127;
a == b?结果是true。因为a和b指向了同一个Integer对象。
在数值在byte范围内,对于新特性。如果该数据已经存在,则不会开辟空间。
*/


 

2025-07-11T15:32:33.280+08:00 WARN 628 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'camundaIntegrationDeterminator': Unsatisfied dependency expressed through field 'processEngine': Error creating bean with name 'processEngineFactoryBean': FactoryBean threw exception on object creation 2025-07-11T15:32:33.282+08:00 INFO 628 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2025-07-11T15:32:33.284+08:00 INFO 628 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2025-07-11T15:32:33.287+08:00 INFO 628 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-07-11T15:32:33.298+08:00 INFO 628 --- [ main] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-07-11T15:32:33.311+08:00 ERROR 628 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'camundaIntegrationDeterminator': Unsatisfied dependency expressed through field 'processEngine': Error creating bean with name 'processEngineFactoryBean': FactoryBean threw exception on object creation at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:788) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:768) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:509) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1445) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:347) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1155) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1121) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1056) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) ~[spring-context-6.2.5.jar:6.2.5] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.5.jar:6.2.5] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.4.jar:3.4.4] at com.example.workflow.Application.main(Application.java:10) ~[classes/:na] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngineFactoryBean': FactoryBean threw exception on object creation at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:192) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:125) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1884) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1302) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1926) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1883) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1621) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1555) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:785) ~[spring-beans-6.2.5.jar:6.2.5] ... 22 common frames omitted Caused by: org.camunda.bpm.engine.ProcessEngineException: ENGINE-12019 The transaction isolation level set for the database is 'REPEATABLE_READ' which differs from the recommended value. Please change the isolation level to 'READ_COMMITTED' or set property 'skipIsolationLevelCheck' to true. Please keep in mind that some levels are known to cause deadlocks and other unexpected behaviours. at org.camunda.bpm.engine.impl.cfg.ConfigurationLogger.invalidTransactionIsolationLevel(ConfigurationLogger.java:142) ~[camunda-engine-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.checkTransactionIsolationLevel(ProcessEngineConfigurationImpl.java:1707) ~[camunda-engine-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.initDataSource(ProcessEngineConfigurationImpl.java:1692) ~[camunda-engine-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:1149) ~[camunda-engine-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:1120) ~[camunda-engine-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.spring.SpringTransactionsProcessEngineConfiguration.buildProcessEngine(SpringTransactionsProcessEngineConfiguration.java:65) ~[camunda-engine-spring-6-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:55) ~[camunda-engine-spring-6-7.23.0.jar:7.23.0] at org.camunda.bpm.engine.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:34) ~[camunda-engine-spring-6-7.23.0.jar:7.23.0] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:186) ~[spring-beans-6.2.5.jar:6.2.5] ... 33 common frames omitted
07-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值