常用API(String,ArrayList)

news2024/11/19 17:22:36

1:String类概述

  1. String是字符串类型,可以定义字符串变量指向字符串对象
  2. String是不可变字符串的原因?1.String变量每次的修改都是产生并指向新的字符串对象。2.原来的字符串对象都是没有改变的,所以称不可变字符串。

2:String创建字符串对象的2中方式

  1. 直接使用 String name="中国"
  2. 通过String类的构造器创建对象。public String (char[] )/(byte[])

3:特点

双引号创建的字符串对象,在字符串常量池中存储同一个。

通过new构造器创建的字符串对象,在堆内存中分开存储。

public class Test2{
     public status void main(String[] args){
             String s2= new String("abc");//实际创建了两个对象
             String s1="abc";//创建了0个对象
             System.out.println(s1==s2);
     }
}
//为假,s2在堆内存中,s1在变量池中

public class Test3{
     public status void main(String[] args){
             String s1= "abc";
             String s2="ab";
             String s3=s2+"c";
             System.out.println(s1==s3);
     }
}
//为假,s3在堆内存中,s1在变量池中
public class Test3{
     public status void main(String[] args){
             String s1= "abc";
             String s2="a"+"b"+"c";
             System.out.println(s1==s3);
     }
}
//为真,java存在编译优化机制,"a"+"b"+"c"会变成"abc"

4:String内容比较

背景:==是比较地址。

equals(常量);//
equalsIgnoreCase();//忽略大小写

2;ArrayList

1:集合概述

  1. 集合大小不固定,启动后可以动态变化,类型也可以选择不固定
  2. 适合元素个数不确定,且要进行增删操作的业务场景
  3. 集合提供了许多丰富,好用的功能,而数组的功能单一。

2:ArrayList集合

3:ArrayList对于泛型的支持

泛型就是一种标识符,确定集合操作的类型。

ArrayList<String> list1=new ArrayList();

4:ArrayList常用方法,遍历

5:ArrayList遍历并删除

直接删的话,会漏删。

  1. 从集合后面删
  2. 加个i--,退一步。

6:ArrayList存储

集合中存储的元素并不是对象本身,而是对象的地址。

public class SysteamDemo {
    public static void main(String[] args) {
        Movie m1 = new Movie("《肖生克的救赎》",9.7,"罗宾斯");
        Movie m2 = new Movie("《霸王别姬》",9.6,"张国荣");
        Movie m3 = new Movie("《阿甘正传》",9.5,"汤姆.汉克斯");
        ArrayList<Movie> movies=new ArrayList<>();
        movies.add(m1);
        movies.add(m2);
        movies.add(m3);
        System.out.println(movies);//地址
        for (int i = 0; i < movies.size(); i++) {
            Movie m=movies.get(i);
            System.out.println(m.getName());//数据
            System.out.println(m.getScore());
            System.out.println(m.getActor());
        }
    }
}

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

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

相关文章

一文搞懂VOS费率前缀、地区前缀的区别和使用

登录VOS3000客户端 进入费率管理 "VOS费率前缀"和"地区前缀"的主要区别如下: VOS费率前缀:VOS(Voice Over Service)费率前缀是指用于国际长途电话呼叫的特定前缀号码。不同的运营商或服务提供商可能会使用不同的VOS费率前缀,用于标识国际长途通话的费…

49 最佳实践-性能最佳实践-Nvme磁盘直通

文章目录 49 最佳实践-性能最佳实践-Nvme磁盘直通49.1 概述49.2 操作指导 49 最佳实践-性能最佳实践-Nvme磁盘直通 49.1 概述 设备直通技术是一种基于硬件的虚拟化解决方案&#xff0c;通过该技术&#xff0c;虚拟机可以直接连接到指定的物理直通设备上。对于用户来说&#x…

ByteV联合“智农”打造数字孪生高标准农田,助力乡村振兴

ByteV联合“智农”打造的数字孪生高标准农田&#xff0c;不仅要让粮食稳产、增产&#xff0c;更要对土壤肥力进行改良和提升。不仅能够实现科技引领农业发展&#xff0c;更在智慧农业的基础上实现一站式托管&#xff0c;真正做到技术提升、5G引领、建后管护的闭环管理。让高标准…

C语言之指针详解(7)

目录 本章重点 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 5. 函数指针 6. 函数指针数组 7. 指向函数指针数组的指针 8. 回调函数 9. 指针和数组面试题的解析 上一篇博客我们说过会把回调函数的一些知识再给大家讲一遍 这里把void*强制类型转化为str…

【Hadoop】 | 搭建HA之报错锦集

知识目录 一、写在前面✨二、Hadoop的active结点无法主备切换&#x1f525;三、Hadoop Web端无法上传文件&#x1f349;四、hdfs创建文件夹报错&#x1f36d;五、IDEA操作Hdfs无法初始化集群&#x1f525;六、Java无法连接Hdfs&#x1f36d;七、找不到Hadoop家目录&#x1f525…

软件测试实战案例:支付功能板块如何测试?详细总结

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 大体上&#xff0…

ChatGPT数据安全隐患?本想提高效率,数据却遭泄露

一项新的研究发现&#xff0c;15%的员工经常在ChatGPT上上传公司数据&#xff0c;其中超过四分之一的数据被认为是敏感信息&#xff0c;这使公司在无形中面临安全漏洞的风险。 6月的研究报告《揭示真正的GenAI数据暴露风险》分析了超过10000名员工&#xff0c;主要研究员工如何…

(ICIP-2022)GAITTAKE:通过时间注意和关键点引导嵌入进行步态识别

GAITTAKE&#xff1a;通过时间注意和关键点引导嵌入进行步态识别 论文题目&#xff1a;GAITTAKE: GAIT RECOGNITION BY TEMPORAL ATTENTION AND KEYPOINT-GUIDED EMBEDDING 论文是华盛顿大学发表在ICIP 2022的工作 论文地址 ABSTRACT 步态识别是指根据远距离采集的视频数据&am…

【服务器数据恢复】OneFS文件系统下误删除文件的数据恢复案例

EMC Isilon存储结构&#xff1a; Isilon群集存储系统使用的是分布式文件系统OneFS。Isilon群集存储系统的每个节点均为单一OneFS文件系统&#xff0c;Isilon在进行横向扩展时不会影响数据的正常使用。Isilon群集存储系统所有节点在工作时都提供相同的功能&#xff0c;节点没有主…

js数组高阶函数——map()方法

js数组高阶函数——map方法 map&#xff08;&#xff09;语法map&#xff08;&#xff09;的基本使用map&#xff08;&#xff09;的优缺点map&#xff08;&#xff09;的使用场景去重双重for循环配合splie去重map循环配合Array.from去重set&#xff08;&#xff09;去重filter…

es中索引那些事

0、前言 在了解倒排索引之前先理解下索引的作用&#xff1a; 查询数据的时候&#xff0c;最耗时的操作并不是CPU计算&#xff0c;也不是内存聚合&#xff0c;而是去磁盘将文档查到并拉取回来的过程。我们都知道在磁盘IO的过程中&#xff0c;顺序读写效率高于随机读写&#xf…

JavaWeb学习路线(4)——请求响应与分层解耦

一、概述 二、请求 &#xff08;一&#xff09;概念&#xff1a; 全名为HttpServletRequest&#xff0c;其目标是获取请求数据。 &#xff08;二&#xff09;简单请求&#xff1a; web端发送基本数据类型数据到服务器进行处理。 1、获取方式 &#xff08;1&#xff09;原…

ESP32学习之JSON,和接入心知天气

注意&#xff1a;手机热点或者网络不能开5.0GHz频段和WIFI6&#xff0c;不然ESP32连不上 心知天气账号&#xff08;免费版即可&#xff09;&#xff0c;网站&#xff1a;心知天气 - 高精度气象数据 - 天气数据API接口 - 行业气象解决方案 (seniverse.com) V3的用户手册-天气实…

【业务功能篇29】Assert断言

业务场景&#xff1a; 当我们需要对一个接口方法验证是&#xff0c;在单元测试中&#xff0c;主要用于程序代码的调试或测试阶段 基本的使用就是assert condition&#xff0c;当 condition 为 true&#xff0c;就继续往下运行&#xff1b;当 condition 为 false&#xff0c;就抛…

MySQL - 第2节 - MySQL库的操作

1.创建数据库 创建数据库的SQL如下&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSETcharset_name] [[DEFAULT] COLLATEcollation_name];说明&#xff1a; • SQL中大写的表示关键字&#xff0c;[ ]中代表的是可选项。 • CHARSET用于指定数据库所采用…

「实在RPA·证券数字员工」革新证券数字化现状

2022年1月《金融科技发展规划&#xff08;2022——2025年&#xff09;》提出“十四五”时期金融科技发展愿景&#xff0c;明确了金融科技发展的指导思想和4个基本原则、6个发展目标&#xff0c;确定了8项重点任务和5项保障措施&#xff0c;进一步明确金融科技发展方向。近年来&…

ADB WIFI 链接

ADB WiFi链接手机 必须在同一网络下&#xff08;本人用的台式机网线手机连路由器WIFI&#xff09; 1.先确认USB数据线是否成功链接了手机 adb devices不管前面设备是什么名字&#xff0c;但是后面必须为device状态才算链接成功了&#xff0c;offline状态是不行的 有些没开启…

Linux Debian Jenkins快速搭建配置并运行

Jenkins安装 参考Debian Jenkins Packageshttps://pkg.origin.jenkins.io/debian-stable/ 加Key curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \/usr/share/keyrings/jenkins-keyring.asc > /dev/null 加仓库 echo deb [signed-by/u…

什么是远程工具,远程工具推荐

在当今数字化时代&#xff0c;远程工作正在变得越来越普遍。这种趋势不仅使企业管理更加便利&#xff0c;节省了时间和资源&#xff0c;同时也使员工更加自由和灵活。许多远程工作都需要使用到远程工具。本文将对远程工具进行简介和阐述。 什么是远程工具 远程工具是一种数字…

类与对象知识总结+封闭类+const+this指针 C++程序设计与算法笔记总结(三) 北京大学 郭炜

//C程序到C程序的翻译 class CCar { public: int price; void SetPrice(int p); }; void CCar::SetPrice(int p) { price p; } int main() { CCar car; car.SetPrice(20000); return 0; }struct CCar { int price; }; void SetPrice(struct CCar * this, int p) { this-&g…