Java后端基础知识(String类型)

news2024/11/28 15:44:06

String类的创建方式

String的特点

1.引用数据类型
2.是final类,一旦创建内容不可修改
3.String类对象相等的判断用equals()方法完成,==是判断地址数值

String的创建方式

1.直接创建

String str="hello";

注意:直接创建创建的字符串直接赋值在常量池中
2.创建对象方式

String str=new String("hello");

注意:创建对象方式,创建对象时首先看池中是否有相同值的字符串,如果有则拷贝一份到堆中,然后返回堆的地址;如果没有,则在堆中创建一份,然后返回堆的地址。

String类的存储原理

String str1="hello";
String str2="hello";
System.out.print("str1==str2");//true
String str3=new String("lishuo");
String str4=new String("lishuo");
System.out.print("str3==str4");//false

在这里插入图片描述
str1和str2是String直接创建,直接赋值在常量池中,==比较的是常量中的内存地址‘str3和str4是创建对象方式,比较的是堆中的地址。

String常用方法

1.charAt(int index) 返回指定索引的字符

String str1="hello li";
System.out.println(str1.charAt(0));//h
System.out.println(str1.charAt(3));//l

2.replace(char oldchar,char newchar) 用新字符替换旧字符

String str1="abc";
String str2=str1.replace(a,b);
System.out.println(str2);//bbc

3.**equals()**比较字符串的内容是否相同
重点:equals和==的区别
String中的equals比较的是字符串的内容是否相同
"=="比较基本数据类型时,比较的是值;比较引用数据类型时,比较的是地址值

String str1="hello";
String str2=new String("hello");
System.out.println(str1==str2);//false
System.out.println(str1.equals(str2));//true

4.String实现字符串反转

public static void main(String[] args){
System.out.println(reverse("abc"));
}
public static String reverse(String str){
String newstr="";
for(i=str.length-1;i>0;i--){
newstr+=str.charAt(i);
}
return newstr;
}

5.toLowerCase()转为小写
6.toUpperCase()转为大写
还有很多方法,但不常用,用时查询即可

String和StringBuffer StringBuilder的区别

在这里插入图片描述

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

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

相关文章

LRU缓存结构【C语言】

#include <stdio.h> #include <stdlib.h>//双链表节点结构 typedef struct Node {int key;int value;struct Node* pre;struct Node* next; } Node;//LRU结构 typedef struct {int capacity;struct Node* head;struct Node* tail;struct Node** cache; }LRUCache;…

sonar搭建(linux系统)

前景 静态代码扫描是CI/CD中重要的一环&#xff0c;可以在代码提交到代码仓库之后&#xff0c;在CI/CD流程中加入代码扫描步骤&#xff0c;从而及时地对代码进行质量的检查。这可以有效地降低后期维护成本&#xff0c;优化产品质量&#xff0c;提高产品交付速度。同时&#xf…

世界需要和平--中介者模式

1.1 世界需要和平 "你想呀&#xff0c;国与国之间的关系&#xff0c;就类似于不同的对象与对象之间的关系&#xff0c;这就要求对象之间需要知道其他所有对象&#xff0c;尽管将一个系统分割成许多对象通常可以增加其可复用性&#xff0c;但是对象间相互连接的激增又会降低…

Capture One 23 Enterprise for Mac中文版 全面的图像处理工具

Capture One 23 Enterprise for Mac中文版一款专业的图像编辑和管理软件&#xff0c;具备强大的功能和工具&#xff0c;适用于摄影师、摄影工作室和专业用户。 软件下载&#xff1a;Capture One 23 Enterprise for Mac中文版下载 该软件为用户提供了全面的图像处理工具&#xf…

word中插入mathtype版的符号后,行间距变大解决方法

问题 解决方法 选中该段&#xff0c;设置固定值行距。如果是宋体&#xff0c;小四&#xff0c;1.25行距&#xff0c;那么固定值就为20磅。 成功解决。

[大模型]ChatGLM3-6B Transformers部署调用

ChatGLM3-6B Transformers部署调用 环境准备 在autodl平台中租一个3090等24G显存的显卡机器&#xff0c;如下图所示镜像选择PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的JupyterLab&#xff0c;并且打开其中的终端开始环境配置、模型下载…

生成式伪造语音安全问题与解决方案(下)

文章目录 前言三、伪造语音的检测技术(一)伪造语音检测算法(二)伪造语音检测应用(三)伪造语音检测未来发展方向(四)伪造语音检测技术面临的挑战四、生成式伪造语音治理体系的构建(一)技术应用层面(二)制度规范层面1、规范技术分类分级标准2、健全伪造语音技术监管体…

Java日期正则表达式(附Demo)

目录 前言1. 基本知识2. Demo 前言 对于正则匹配&#xff0c;在项目实战中运用比较广泛 原先写过一版Python相关的&#xff1a;ip和端口号的正则表达式 1. 基本知识 对于日期的正则相对比较简单 以下是一些常见的日期格式及其对应的正则表达式示例&#xff1a; 年-月-日&a…

ES6 全详解 let 、 const 、解构赋值、剩余运算符、函数默认参数、扩展运算符、箭头函数、新增方法,promise、Set、class等等

目录 ES6概念ECMAScript6简介ECMAScript 和 JavaScript 的关系ES6 与 ECMAScript 2015 的关系 1、let 、 const 、var 区别2、变量解构赋值1、数组解构赋值2、对象解构赋值3、字符串的解构赋值 3、展开剩余运算符1、**展开运算符(...)**2、**剩余运算符(...)** 4、函数的拓展函…

Windows终端添加git bash

环境&#xff1a;windows11 终端&#xff1a;windows terminal git bash默认的界面不太好看&#xff0c;添加到终端会比较好用 步骤 打开 windows terminal&#xff0c;在向下箭头 点击 设置左侧栏 点击 “添加新配置文件”&#xff0c;如下图配置&#xff0c;主要修改项&…

系统开发实训小组作业week7 —— 优化系统开发计划

目录 1. 建立规则&#xff0c;仪式&#xff0c;流程&#xff0c;模式 2. 给好行为正面的反馈 3. 明确指出不合适的行为&#xff0c;必要时调整人员 在 “系统开发实训课程” 中&#xff0c;我们小组的项目是 “电影院会员管理系统” 。在项目的开发过程中&#xff0c;我们遇…

全国口腔经销商大会暨口腔行业交流发展论坛【SDHE相约深圳】

全国口腔经销商大会暨口腔行业交流与发展论坛【SDHE相约深圳】 一、活动介绍与宗旨 1.主题&#xff1a;规范 共享 赋能 融合 2.时间和地址 &#xff1a;2024年12月 5日 深圳国际会展中心&#xff08;宝安&#xff09; 3.宗旨 促进口腔产业链的优化与升级&#xff0c;推动口…

ETL中如何运用好MQ消息集成

一、ETL的主要作用 ETL&#xff08;Extract, Transform, Load&#xff09;是数据仓库中的关键环节&#xff0c;其主要作用是将数据从源系统中抽取出来&#xff0c;经过转换和清洗后加载到数据仓库中。具体而言&#xff1a; Extract&#xff08;抽取&#xff09;&#xff1a;从…

跟着Carl大佬学leetcode之27 移除元素

来点强调&#xff0c;刷题是按照代码随想录的顺序进行的&#xff0c;链接如下https://www.programmercarl.com/本系列是记录一些刷题心得和学习过程&#xff0c;就看到题目自己先上手试试&#xff0c;然后看程序员Carl大佬的解释&#xff0c;自己再敲一遍修修补补&#xff0c;练…

套接字通信模型

本文内容主要参考《Android图形显示系统》 套接字也就是socket&#xff0c;一般用于网络中两个主机之间应用进程进行通信&#xff0c;在同一个主机也可以使用套接字完成进程之间的通信。 在图形显示系统中&#xff0c;用到套接字进行通信的地方主要有VSync信号的分发以及输入事…

Freemarker 的配置

Freemarker是一种用于生成动态模板的Java模板引擎。它可以将数据与模板文件结合&#xff0c;生成最终的输出内容。以下是使用Freemarker的实现和配置步骤&#xff1a; 引入Freemarker库&#xff1a;首先需要将Freemarker库添加到项目的依赖中。可以通过在Maven或Gradle中添加相…

idea: 没有 new java class

如图&#xff1a; 解决&#xff1a; 右键点击--> Mark Directory as --> Sources Root ok

简单问题之字符类总结

2023 考点&#xff1a;字符串string的用法 可参考这篇文章 思路&#xff1a; 常用函数&#xff1a; string s; getline(cin,s);//一行读入字符功能 string s3s1s2;//字符串的拼接 子串简写 思路&#xff1a; 对于字符串问题先考虑用暴力&#xff08;双指针&#xff09;是否能…

【Qt】事件

目录 一、介绍 二、进入离开事件 三、鼠标事件 3.1 鼠标单击事件 3.2 鼠标释放事件 3.3 鼠标双击事件 3.4 鼠标移动事件 3.5 滚轮事件 四、按键事件 4.1 单个按键 4.2 组合按键 五、定时器 5.1 QTimerEvent类 5.2 QTimer类 5.3 获取系统日期及时间 六、窗口移…

20 Games101 - 笔记 - 光场、颜色与感知

**20 ** 光场、颜色与感知 光场 眼睛成像 眼睛成像&#xff1a;我们看到这个三维世界&#xff0c;在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图&#xff0c;也能得到同样效果&#xff08;虚拟现实&#xff09;。 全光函数 全光函数可以描述…