String类(Java)

news2024/11/25 23:32:57

文章目录

    • 1. 介绍
    • 2. 分析
    • 3. 方法
      • 3.1 String()方法
      • 3.2 equal()方法
      • 3.3 compareTo()方法
      • 3.4 contains()方法
      • 3.5 toCharArray()方法
      • 3.6 trim()方法
      • 3.7 valueOf()方法

1. 介绍

 A. 类介绍:
  Java将字符串看作对象(不同于c语言, c语言直接使用字符数组来表示字符串),提供了 String 和 StringBuffer 两个类分别用于处理不变字符串和可变字符串.
  String类主要是用于对字符串内容的检索和比较等操作.

2. 分析

 A. 类包结构:java.lang包 – String类
在这里插入图片描述
 B. 关键核心 : 字符串常量在Java当中也是以对象形式储存
 C. 关键核心 : String对象封装数据不可变,更改引用变量的值实际上是将其指向一个新的字符串对象

3. 方法

3.1 String()方法

public class Main {
	public static void main(String[] args) {
		/* 
		 * public String() : 空字符串
		 * public String(String s) : 已有字符串赋值
		 * public String(StringBuffer s) : 使用StringBuffer 对象初始化
		 * public String(char value[]) : 使用字符数组赋值
		 */
		
		String s1 = new String();
		String s2 = new String("This is s1");
		String s3 = new String(new StringBuffer("This is s3"));
		String s4 = new String(new char[] {'s', '4'});
	}	
}

3.2 equal()方法

在这里插入图片描述

public class Main {
	public static void main(String[] args) {
		String s1 = "abc";
		String s2 = "Abc";
		System.out.println(s1.equals(s2)); // false
		System.out.println(s1.equalsIgnoreCase(s2)); // true
	}	
}


&emsp: 细节 : equals() 比较的是两个对象的内容是否相同,s1 == s2 比较的是对象的引用是否相同。

public class Main {
	public static void main(String[] args) {
		String s1 = "abc";
		String s2 = "abc"; // 默认优化,相同字符串常量存储一次
		String s3 = new String("abc"); // 建立一个新对象

		System.out.println(s1 == s2); // true
		System.out.println(s1 == s3); // false
	}
}

3.3 compareTo()方法

在这里插入图片描述

public class Main {
	public static void main(String[] args) {
		/*
			当前串大 : return > 0
			当前串一样大 : return = 0
			当前串小 : return < 0
		 */
		String s1 = "aBc";
		String s2 = "ABc";
		System.out.println(s1.compareTo(s2));// > 0
		System.out.println(s1.compareToIgnoreCase(s2)); // 0
	}
}

3.4 contains()方法

在这里插入图片描述

public class Main {
	public static void main(String[] args) {
		String s = "abcdefghijk";
		String ss[] = {"a", "bc", "ff", "ij", "ji"};
		for(String x : ss){
			if(s.contains(x)) System.out.println("字符串 s 当中含有子串: " + x);
			else System.out.println("字符串 s 当中不含有子串: " + x);
		}
		/*
		字符串 s 当中含有子串: a
		字符串 s 当中含有子串: bc
		字符串 s 当中不含有子串: ff
		字符串 s 当中含有子串: ij
		字符串 s 当中不含有子串: ji
		 */
	}
}

3.5 toCharArray()方法

在这里插入图片描述

public class Main {
	public static void main(String[] args) {
		String s = "abcde";
		char x[] = s.toCharArray();
		for(int i = 0; i < x.length; i ++ )
			System.out.print(x[i]); // abcde
	}
}

3.6 trim()方法

在这里插入图片描述

public class Main {
	public static void main(String[] args) {
		String s = "  ab cde ";
		s = s.trim();
		System.out.print(s); // [ab cde]
	}
}

3.7 valueOf()方法

在这里插入图片描述

public class Main {
	public static void main(String[] args) {
		int x1 = 123;
		double x2 = 12.3;
		boolean x3 = true;
		char[] x4 = {'1', '2', '3'};
		Main x5 = new Main();

		System.out.println(String.valueOf(x1)); // 123
		System.out.println(String.valueOf(x2)); // 12.3
		System.out.println(String.valueOf(x3)); // true
		System.out.println(String.valueOf(x4)); // 123
		System.out.println(String.valueOf(x5)); // com.Main@1b6d3586
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/649986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新型的类型转换

C 方式的强制类型转换 (Type)Expression Type(Expression) C 方式强制类型转换存在的问题 过于粗暴 任意类型之间都可以进行转换&#xff0c;编译器很难判断其正确性 难于定位 在源码中无法快速定位所有使用强制类型转换的语句 问题 强制类型转换在实际工程中是很难完全…

炫龙笔记本毁灭者dc更换CPU记录

文章目录 前言一、确认cpu和主板芯片型号二、搜索可更换的cpu三 、拆机更换cpu四 、蜿蜒曲折的咨询之路总结 前言 本来只想给老笔记本换个512g固态&#xff0c;原先的128g太小了&#xff0c;原装的是一个128g sata接口固态 发现我这台炫龙毁灭者dc居然还能换cpu&#xff0c;除…

回归预测 | MATLAB实现KNN(K近邻)多输入单输出回归预测

回归预测 | MATLAB实现KNN(K近邻)多输入单输出回归预测 目录 回归预测 | MATLAB实现KNN(K近邻)多输入单输出回归预测效果一览基本介绍模型回归程序设计学习总结参考资料效果一览

技术旋风!快速采集建模装备、重建大师6.1版、大面积实景三维轻量化技术...

6月20日 14:30 大势智慧 海量数据轻量化技术与新品夏季发布会 新产品&#xff1a;大势速影&#xff0c;让实景三维建模“快”人一步 实景三维模型应用广度和深度日益扩大&#xff0c;传统测绘技术体系和生产体系正经历数字化变革。 传统激光点云数据量大、空间点离散、缺少…

Video-LLaMA 开源,大语言模型也能读懂视频了!

出品人&#xff1a;Towhee 技术团队 作者&#xff1a;张晨 架构 Video-LLaMA 旨在使冻结的 LLM 能够理解视频中的视觉和听觉内容。如图所示&#xff0c;本文设计了两个分支&#xff0c;即视觉语言分支和音频语言分支&#xff0c;分别将视频帧和音频信号转换为与 LLM 的文本输入…

首次使用云服务器搭建网站(一)

这是本人第一次使用云服务器搭建网站。 一、挑选云服务器 1、我此次使用的是腾讯云赠送的免费云服务器。 2、购买后&#xff0c;进入腾讯云总控制台。 3、点击云服务、云服务器、实例&#xff0c;进入云服务器的实例界面 4、大致就能看到这样一个界面 二、重装系统 腾讯云允许系…

医生出国访学有哪些好处?

医生出国访学有许多好处。在国外访学可以提供医生们与世界上其他国家的医学专家进行交流和合作的机会&#xff0c;从而拓宽他们的学术视野。下面是知识人网小编整理的一些出国访学的好处&#xff1a; 1. 学术交流&#xff1a;出国访学可以让医生们接触到不同国家的医学领域的最…

技术干货|如何解决工业缺陷检测小样本问题?

原创 | 文 BFT机器人 在工业生产制造中&#xff0c;由于生产过程是一个多因素耦合的复杂过程&#xff0c;生产过程中的任何异常都会导致产品缺陷产生&#xff0c;及时识别异常产品的缺陷模式是提高生产质量和生产效率的有效途径&#xff0c;所以缺陷检测具有十分重要的研究意义…

备份手机、电脑微信聊天记录并恢复

文章目录 前言一、手机聊天记录备份至电脑&#xff0c;再恢复1、在电脑新建一个文件夹保存备份文件2、按照下图操作3、最后备份文件大小4、恢复至手机 二、手机聊天记录同步至电脑1、在手机点击【我】--【设置】--【聊天】--【聊天记录迁移与备份】-【迁移】 总结 前言 最近需…

灰度图像点运算之线性变换

目录 note code test note // g(x,y) a * f(x,y) b code void line_convert_fun(uchar& in, uchar& out) {out -1 * in 255; } void img_line_convert(Mat& src, Mat& res) {if (src.empty()) {printf("src empty\n");return;}int src_rows…

【H5】移动端,常见界面布局模板

系列文章 【移动设备】iData 50P 技术规格 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/130604517 【H5】avalon前端数据双向绑定 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/131067187 【H5】安卓自动更新方案&a…

数据库入门上篇(数据库基础概念知识)

在这篇文章里&#xff0c;笔者将简单介绍数据库的起源和发展&#xff0c;数据库的分类&#xff0c;读完这篇文章&#xff0c;大家就对数据库有一个大概了解&#xff0c;也就是知道我们该学什么样的东西 为什么需要数据库 在如今的信息时代&#xff0c;各行各业每天都会产生大量…

11. python从入门到精通——异常处理及程序调试

目录 异常概述 异常处理语句主要有四种 程序调试&#xff1a;Python有两种常用调试方法 异常概述 异常&#xff1a;异常就是出现错误并且会中断程序的正常执行 异常处理语句主要有四种 示例库:在输入浮点数或除数为0时会异常 def division():功能&#xff1a;分苹果print…

【JMeter】threadNum:将接口查询结果列表按顺序赋值给各线程

使用JMeter做性能测试会遇到这么一个场景&#xff1a;后面的请求需要根据前面的查询列表结果通过正则表达式提取器取值后赋值&#xff0c;而后面用户的赋值必须是唯一的&#xff0c;此时该如何做&#xff1f; 如果按编程思维来说&#xff0c;这个问题并不难。只需要把前面的结…

他们都开始偷偷学习高性能计算了 | 学习高性能计算需要哪些前置知识?

随着大模型的越演越烈&#xff0c;高性能计算这一领域被越来越多的人所熟知。未来的超算互联网时代&#xff0c;不懂高性能计算更是难以适应未来时代的发展与变化。很多同学都想学习高性能计算&#xff0c;今天作为国内首家专注高性能计算人才培养的专业机构就帮大家梳理一下&a…

接连三预测成真,75%的参与率,华为、阿里、腾讯纷纷介入

Cartner预测&#xff1a;75%参与率 去年&#xff0c;Cartner预测&#xff0c;75%的大型企业将使用至少四种低代码/无代码开发工具&#xff0c;用于IT应用开发&#xff01; 可以感受的到&#xff0c;这几年低代码以突飞猛进的速度在各领域中得到应用。可以预见的是&#xff0c;…

如何 Java 中的大量的 if else 判断?

目录 问题出现&#xff1a; 如何 Java 中的大量的 if else 判断&#xff1f; 解决方案&#xff1a; 1.策略模式 2.工厂模式 3.映射表 4.反射配置文件------极力推荐使用&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 问题出现&#xff1a; 如何 Java 中的…

STM32F407ZGT6 LQFP144 uart 打印输出

STM32F407ZGT6 AX58100 ETHERCAT芯片软件&#xff0c;需要查看SSC 协议栈运行情况&#xff0c;UART输出状态信息。 STM32F407ZGT6 驱动库使用标准库&#xff0c;虽然老&#xff0c;但是够用。 1.STM32F407ZGT6 芯片情况 STM32F407ZGT6 作为AX58100 的主控 2.板子硬件 STM3…

mysql双主不一致数据修复

参考&#xff1a; pt-table-checksum — Percona Toolkit Documentation pt-table-sync — Percona Toolkit Documentation #对比host1 test库与备库差别 pt-table-checksum hhost1,proot,P3306,uroot -d test --recursion-method processlist --no-check-binlog-format -…

Spring Boot进阶(52):Spring Boot 如何集成Flyway并初始化执行 SQL 脚本?| 超级详细,建议收藏

1. 前言&#x1f525; 在我们的认知中&#xff0c;我们会使用 SVN 或 Git 进行代码的版本管理。但是&#xff0c;我们是否好奇过&#xff0c;数据库也是需要进行版本管理的呢&#xff1f; 在每次发版的时候&#xff0c;我们可能都会对数据库的表结构进行新增和变更&#xff0c;…