Java(二)(String的常见方法,ArrayList的常见方法)

String

创建string对象

package Helloworld;public class dome1 {public static void main(String[] args) {// 1.直接双引号得到字符串对象,封装字符串对象String name = "lihao";System.out.println(name);// 2. new String 创建字符串对象,并调用构造器初始化字符串String rs1= new String();String rs2 = new String("lihao");char[] chars ={'a','黑','马'};String rs3 = new String(chars);System.out.println(rs3);byte[] bytes = {97,98,99};String rs4 = new String(bytes);System.out.println(rs4);}}

String常用方法

package Helloworld;
public class dome1 {public static void main(String[] args) {String s = "Java";// 1. 获取字符串的长度System.out.println(s.length());// 2.提取字符串中的某个索引位置处的字符char c = s.charAt(1);System.out.println(c);//3.字符串遍历for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);System.out.print(ch);}// 3.把字符串转换成字符数组,在进行遍历char[] chars = s.toCharArray();for (int i = 0; i < chars.length; i++) {System.out.println(chars[i]);}// 4.判断字符串内容,内容一样就返回trueString s1 = new String("牛逼克拉斯");String s2 = new String ("牛逼克拉斯");System.out.println(s1.equals(s2));// 5. 忽略大小写比较字符串内容String c1 = "123456aA";String c2 = "123456Aa";System.out.println(c1.equals(c2));System.out.println(c1.equalsIgnoreCase(c2));//6.截取字符串内容(包括前的不包括后面的)String s3 = "Java是最好的编程语言之一";String rs = s3.substring(0,8);System.out.println(rs);// 7.从当前索引位置一直截到字符串的末尾String rs2 = s3.substring(5);System.out.println(rs2);//8.把字符串中某个内容替换成新内容,并返回新的字符串对象给我们String info = "这个电影是个垃圾,垃圾电影!!";String info1= info.replace("垃圾","**");System.out.println(info);System.out.println(info1);//9.判断字符串中是否包含某个关键字String info3 = "Java是最好的语言";System.out.println(info3.contains("Java"));//10.判断字符串是否以某个字符串开头String rs4 = "张三丰";System.out.println(rs4.startsWith("张三"));//11.把字符串按照指定内容分割成多个字符串String rs5 = "张无忌,张三丰,白月光,朱砂痣";String[] names= rs5.split(",");for (int i = 0; i < names.length; i++) {System.out.println(names[i]);}}
}

注意事项:

(1)String的对象是不可变字符串对象

(2)只要是"..."方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份,

但是通过new方式创建字符串常量,每new一次都会产生一个新的对象放到堆内存中

public class test1 {public static void main(String[] args) {String s1 = "abc";String s2 = "abc";System.out.println(s1 == s2); // truechar[] chars={'a','b','c'};String a1 = new String (chars);String a2 =new String (chars);System.out.println(a1 == a2);  // false}}

区别一点就是:"....."字符串对象是放到堆内存中的字符串常量池,每一回创建字符串对象的时候,都会在字符串常量池中去找,没有的话,在字符串常量池中创建,有的话,直接将这个的地址返回String对象,

但是(1)new出来的东西,是直接放到堆内存中的不管是不是字符串,即便是字符串也是直接在堆内存中开辟空间去存放(2)字符串运算出来的东西也会直接放到堆内存中

ArrayList

常见的方法

package demo;import java.util.ArrayList;public class test1 {public static void main(String[] args) {// 1. 创建一个ArrayList的集合对象ArrayList list = new ArrayList();list.add("李小谦");list.add(100);list.add(58);list.add("java");System.out.println(list);// ArrayList<String> list1 = new ArrayList<String>();ArrayList<String> list1 = new ArrayList<>();list1.add("李小谦");list1.add("java");System.out.println(list1);// 2.往集合中的某个索引位置处添加一个数据list.add(1,"MySQL");System.out.println(list);// 3.根据索引获取集合中某个索引位置的值String rs1 = list1.get(0);System.out.println(rs1);String rs2 = (String) list.get(0);System.out.println(rs2);int num = (int)list.get(3);System.out.println(num);// 4 .获取集合的大小(返回集合中存储的元素个数)System.out.println(list.size());// 5.根据索引删除集合中的某个元素值,会返回被删除元素值给我们System.out.println(list.remove(1));System.out.println(list);// 6.直接删除某个元素值,删除成功后返回true,反之falseSystem.out.println(list.remove("java"));System.out.println(list);// 7.修改某个索引位置处的数据,修改后会返回原来的值给我们list.set(1,"伟大的程序员");System.out.println(list);}}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建网关服务器实现DHCP自动分配、HTTP服务和免密登录

目录 一. 实验要求 二. 实验准备 三. 实验过程 1. 网关服务器新建网卡并改为仅主机模式 2. 修改新建网卡IP配置文件并重启服务 3. 搭建网关服务器的dhcp服务 4. 修改server2网卡配置文件重启服务并效验 5. 设置主机1的网络连接为仅主机模式 6. 给server2和网关服务器之…

【汇编】处理字符问题

文章目录 前言一、处理字符问题1.1 汇编语言如何处理字符1.2 asciiascii码是什么&#xff1f;ascii码表是什么&#xff1f; 1.3 汇编语言字符示例代码 二、大小写转换2.1 问题&#xff1a;对datasg中的字符串2.2 逻辑与和逻辑或2.3 程序&#xff1a;解决大小写转换的问题一个新…

devops底层是怎么实现的

DevOps的3大核心基础架构 简而言之&#xff0c;实现DevOps工具链&#xff0c;基本需要3个核心基础架构&#xff1a; SCM配置管理系统 Automation自动化系统 Cloud云&#xff08;或者说可伸缩的、自服务的、虚拟化系统&#xff09; SCM配置管理系统 SCM中所放置的内容又可以再…

ScalableMap

问题引入 传统方案在处理线性地图元素时忽略了其结构性约束&#xff0c;建图距离太近 方法 简介 结构引导BEV特征提取 一种新的层次稀疏地图表示方法 设计渐进解码机制和基于此表示的监督策略 组件 结构引导BEV表征 通过车载摄像头捕捉的环绕视图图像&#xff0c;利用Res…

我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?

废话不多说&#xff0c;直接上图 初看只当是段子&#xff0c;再看已是段中人 事情经过&#xff1a; 我在写动态顺序表的尾插函数时&#xff0c;写出了如下代码&#xff0c;可以跑&#xff0c;但是这段代码有一个bug暂时先不提 //动态顺序表的尾插 void SLPushBack(SL* psl, …

庖丁解牛:NIO核心概念与机制详解 02 _ 缓冲区的细节实现

文章目录 PreOverview状态变量概述Position 访问方法 Pre 庖丁解牛&#xff1a;NIO核心概念与机制详解 01 接下来我们来看下缓冲区内部细节 Overview 接下来将介绍 NIO 中两个重要的缓冲区组件&#xff1a;状态变量和访问方法 (accessor) 状态变量是"内部统计机制&quo…

【Spring Boot 源码学习】Banner 信息打印流程

Spring Boot 源码学习系列 Banner 信息打印流程 引言往期内容主要内容1. printBanner 方法2. 关闭 Banner 信息打印3. SpringApplicationBannerPrinter 类3.1 LOG 模式打印3.1.1 getBanner 方法3.1.1.1 新建 Banners3.1.1.2 添加 ImageBanner3.1.1.3 添加 ResourceBanner3.1.1.…

【IPC】消息队列

1、IPC对象 除了最原始的进程间通信方式信号、无名管道和有名管道外&#xff0c;还有三种进程间通信方式&#xff0c;这 三种方式称之为IPC对象 IPC对象分类&#xff1a;消息队列、共享内存、信号量(信号灯集) IPC对象也是在内核空间开辟区域&#xff0c;每一种IPC对象创建好…

酷柚易汛ERP - 序列号盘点操作指南

1、应用场景 将系统中开启序列号的商品数量与与实际存放的数量进行对比。 2、主要操作 2.1 录入序列号 打开【盘点】-【序列号盘点】&#xff0c;新增序列号盘点单&#xff0c;点击【SN】按钮&#xff0c;在弹框中输入序列号。 支持扫描枪录入序列号支持复制粘贴序列号录入…

Linux中系统时间同步

在Windwos中&#xff0c;系统时间的设置很简单&#xff0c;界面操作&#xff0c;通俗易懂&#xff0c;而且设置后&#xff0c;重启&#xff0c;关机都没关系。系统时间会自动保存在BIOS时钟里面&#xff0c;启动计算机的时候&#xff0c;系统会自动在BIOS里面取硬件时间&#x…

全链路监控--pinpoint

一、pinpoint架构原理 架构组成 Pinpoint Agent:和自己运行的应用关联起来的探针 Pinpoint Collector:收集各种性能数据 Pinpoint-Web: 将收集到的数据显成为 WEB网页显示 HBase Storage: 存储收集到的数据 工作原理 pinpoint的核心思想是在各个服务节点之间彼此调用时&a…

tab栏切换,路径传参写死的情况,切换一次路径随之改变

tab栏&#xff0c;使用uview提供的tabs 网址&#xff1a;https://uviewui.com/components/tabs.html <u-tabs :list"tabsList" :scrollable"false" change"tabsChange" :current"tabsCurrent"></utabs> <view class&q…