Java的核心类库

引言

 

在Java编程中,熟练掌握常用类与对象操作是开发的基础。Java的核心类库提供了丰富的功能,可以帮助开发者高效地处理各种编程任务。本文将详细介绍Java字符串操作、集合框架、日期与时间处理等内容,并通过图表和表格进行总结与示范。

 

字符串操作

 

字符串类(String)

 

String类用于表示字符串,字符串是字符的序列,属于不变对象(immutable)。常用的字符串操作包括长度、拼接、比较、截取、替换等。

 

 

public class StringExample {
    public static void main(String[] args) {
        String str = "Hello, Java!";
        
        // 获取字符串长度
        int length = str.length();
        System.out.println("Length: " + length); // 输出:Length: 12
        
        // 字符串拼接
        String newStr = str.concat(" Welcome!");
        System.out.println("Concatenated: " + newStr); // 输出:Concatenated: Hello, Java! Welcome!
        
        // 字符串比较
        boolean isEqual = str.equals("Hello, Java!");
        System.out.println("Is Equal: " + isEqual); // 输出:Is Equal: true
        
        // 字符串截取
        String substring = str.substring(7, 11);
        System.out.println("Substring: " + substring); // 输出:Substring: Java
        
        // 字符串替换
        String replaced = str.replace("Java", "World");
        System.out.println("Replaced: " + replaced); // 输出:Replaced: Hello, World!
    }
}

 

常用方法表格总结

 

方法描述示例
length()返回字符串的长度str.length();
concat(String str)将指定字符串连接到此字符串的末尾str.concat(" Welcome!");
equals(Object obj)比较此字符串与指定对象是否相等str.equals("Hello, Java!");
substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串str.substring(7, 11);
replace(CharSequence target, CharSequence replacement)将匹配的字符或字符串替换为新字符或字符串str.replace("Java", "World");
toUpperCase()将所有字符转换为大写str.toUpperCase();
toLowerCase()将所有字符转换为小写str.toLowerCase();
trim()去除字符串两端的空格str.trim();
charAt(int index)返回指定索引处的字符str.charAt(0);
indexOf(String str)返回子字符串第一次出现的索引,如果没有找到则返回-1str.indexOf("Java");

 

集合框架

 

Java集合框架提供了一组接口和类,用于存储和操作一组对象。集合框架包括以下常用接口和类:

 

List接口

 

List接口是一种有序集合,允许重复元素。常用实现类是ArrayListLinkedList

 

 

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Apple"); // 允许重复元素
        
        System.out.println("List: " + list);
        
        // 访问元素
        String firstElement = list.get(0);
        System.out.println("First Element: " + firstElement);
        
        // 遍历集合
        for (String element : list) {
            System.out.println("Element: " + element);
        }
    }
}

 

Set接口

 

Set接口是一种不包含重复元素的集合。常用实现类是HashSetTreeSet

 

 

import java.util.HashSet;
import java.util.Set;

public class SetExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("Apple");
        set.add("Banana");
        set.add("Apple"); // 不允许重复元素
        
        System.out.println("Set: " + set);
        
        // 遍历集合
        for (String element : set) {
            System.out.println("Element: " + element);
        }
    }
}

 

Map接口

 

Map接口是一种键值对(Key-Value)映射。不允许重复的键。常用实现类是HashMapTreeMap

 

 

import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("Apple", 10);
        map.put("Banana", 20);
        map.put("Apple", 30); // 键不允许重复,值会被覆盖
        
        System.out.println("Map: " + map);
        
        // 访问元素
        int appleCount = map.get("Apple");
        System.out.println("Apple Count: " + appleCount);
        
        // 遍历集合
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }
    }
}

 

集合框架表格总结

 

接口实现类特点示例
ListArrayList, LinkedList有序集合,允许重复元素List<String> list = new ArrayList<>();
SetHashSet, TreeSet无序集合,不允许重复元素Set<String> set = new HashSet<>();
MapHashMap, TreeMap键值对映射,不允许重复键Map<String, Integer> map = new HashMap<>();

 

日期与时间处理

 

Java提供了多种日期和时间处理的类,主要包括Date类、Calendar类和java.time包中的新API。

 

Date类

 

Date类表示特定的时间,精确到毫秒。

 

 

import java.util.Date;

public class DateExample {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println("Current Date: " + now);
        
        // 创建特定日期
        Date specificDate = new Date(2020, 1, 1);
        System.out.println("Specific Date: " + specificDate);
    }
}

 

Calendar类

 

Calendar类提供了更灵活的日期操作功能。

 

 

import java.util.Calendar;

public class CalendarExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        System.out.println("Current Date: " + calendar.getTime());
        
        // 设置特定日期
        calendar.set(2020, Calendar.JANUARY, 1);
        System.out.println("Specific Date: " + calendar.getTime());
    }
}

 

java.time包

 

Java 8引入了新的日期和时间API,包括LocalDateLocalTimeLocalDateTimeDateTimeFormatter类等。

 

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeExample {
    public static void main(String[] args) {
        // 获取当前日期
        LocalDate date = LocalDate.now();
        System.out.println("Current Date: " + date);
        
        // 获取当前日期和时间
        LocalDateTime dateTime = LocalDateTime.now();
        System.out.println("Current DateTime: " + dateTime);
        
        // 格式化日期和时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedDateTime = dateTime.format(formatter);
        System.out.println("Formatted DateTime: " + formattedDateTime);
    }
}

日期与时间处理的表格总结

 

类名描述示例
Date表示特定的时间Date now = new Date();
Calendar提供更灵活的日期操作功能Calendar calendar = Calendar.getInstance();
LocalDate表示 ISO-8601日历系统中的日期(无时间)LocalDate date = LocalDate.now();
LocalTime表示 ISO-8601日历系统中的时间(无日期)LocalTime time = LocalTime.now();
LocalDateTime表示日期和时间的组合LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter格式化和解析日期与时间DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

 

应用场景与实践

 

字符串操作应用场景

 

字符串操作在各种应用场景中广泛使用,如数据输入验证、文本处理、日志记录等。例如,在处理用户输入时,可以使用字符串方法去除空格、转换大小写和验证内容格式。

 

 

public class StringValidation {
    public static void main(String[] args) {
        String userInput = "   Hello Java!   ";
        
        // 去除两端空格
        String trimmedInput = userInput.trim();
        System.out.println("Trimmed Input: " + trimmedInput);

        // 验证内容格式(检查是否以 "Hello" 开头)
        if (trimmedInput.startsWith("Hello")) {
            System.out.println("Valid Input");
        } else {
            System.out.println("Invalid Input");
        }
    }
}

 

集合操作应用场景

 

集合框架的应用场景包括数据存储与检索、去重、排序等。例如,在开发购物车功能时,可以使用List存储商品列表,使用Set去重,以及使用Map存储商品及其数量。

 

 

import java.util.HashMap;
import java.util.Map;

public class ShoppingCart {
    private Map<String, Integer> cart = new HashMap<>();

    // 添加商品
    public void addItem(String item) {
        cart.put(item, cart.getOrDefault(item, 0) + 1);
    }

    // 获取购物车中商品数量
    public int getItemCount(String item) {
        return cart.getOrDefault(item, 0);
    }

    public static void main(String[] args) {
        ShoppingCart shoppingCart = new ShoppingCart();
        shoppingCart.addItem("Apple");
        shoppingCart.addItem("Apple");
        shoppingCart.addItem("Banana");

        System.out.println("Apple Count: " + shoppingCart.getItemCount("Apple")); // 输出:Apple Count: 2
        System.out.println("Banana Count: " + shoppingCart.getItemCount("Banana")); // 输出:Banana Count: 1
    }
}

 

日期与时间处理应用场景

 

日期与时间处理广泛应用于日志记录、定时任务、日期计算等场景。例如,在构建一个事件提醒应用时,可以使用LocalDate存储事件日期,并使用Period进行日期计算。

 

 

import java.time.LocalDate;
import java.time.Period;

public class EventReminder {
    public static void main(String[] args) {
        LocalDate eventDate = LocalDate.of(2024, 6, 13);
        LocalDate currentDate = LocalDate.now();

        // 计算剩余天数
        Period period = Period.between(currentDate, eventDate);
        int remainingDays = period.getDays();
        System.out.println("Event is in " + remainingDays + " days");
    }
}

 

表格总结

 

字符串操作方法表

 

方法描述示例
length()返回字符串的长度str.length();
concat(String str)将指定字符串连接到此字符串的末尾str.concat(" Welcome!");
equals(Object obj)比较此字符串与指定对象是否相等str.equals("Hello, Java!");
substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串str.substring(7, 11);
replace(CharSequence target, CharSequence replacement)将匹配的字符或字符串替换为新字符或字符串str.replace("Java", "World");

 

集合框架接口与实现类表

 

接口实现类特点示例
ListArrayList, LinkedList有序集合,允许重复元素List<String> list = new ArrayList<>();
SetHashSet, TreeSet无序集合,不允许重复元素Set<String> set = new HashSet<>();
MapHashMap, TreeMap键值对映射,不允许重复键Map<String, Integer> map = new HashMap<>();

 

日期与时间处理类表

 

类名描述示例
Date表示特定的时间Date now = new Date();
Calendar提供更灵活的日期操作功能Calendar calendar = Calendar.getInstance();
LocalDate表示 ISO-8601日历系统中的日期(无时间)LocalDate date = LocalDate.now();
LocalTime表示 ISO-8601日历系统中的时间(无日期)LocalTime time = LocalTime.now();
LocalDateTime表示日期和时间的组合LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter格式化和解析日期与时间DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

 

总结

 

本文详细介绍了Java编程中的常用类与对象操作,包括字符串操作、集合框架以及日期与时间处理。通过示例代码和表格总结,帮助您更好地理解和应用这些基础知识,提高编程效率和代码质量。

 

6c496d7f94c04e67a07e0974a68cf468.png

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Selenium IED-控制已打开的Chrome浏览器

本文已收录于专栏 《自动化测试》 目录 背景介绍优势特点操作步骤总结提升 背景介绍 在我们进行自动化测试的过程中有时候会遇见一个很棘手的问题那就是登录的过程中需要图片验证码&#xff0c;图片验证码设计的初衷其实就是为了防自动化&#xff0c;防止一些人利用自动工具恶意…

B-splines曲线的绘制(Matlab)

虽然在这个链接三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab_三次b样条曲线的绘制-CSDN博客中我们介绍了NURBS曲线&#xff0c;然而有时候我们通过B-spline曲线也能够解决问题。B-spline曲线作为NURBS曲线的一种特例&#xff0c;这里给出均匀B-spline曲线的表达式&#xff…

oracle12c到19c adg搭建(三)oracle19c数据库软件安装

由于这里的19c是做备库所以我们只安装软件不用创建实例&#xff0c;实例由主库同步过来 解压软件到安装目录 注意19c得db要直接解压到19c得软件安装目录 [rooto12u19p software]# ls V982063-01.zip [rooto12u19p software]# ls -ll total 2987996 -rw-r--r-- 1 root ro…

阿里云服务器无法远程登录连接:操作系统禁用了密码登录方式,会导致使用了正确的用户名和密码仍无法登录

阿里云服务器无法远程登录连接&#xff1a;操作系统禁用了密码登录方式&#xff0c;会导致使用了正确的用户名和密码仍无法登录 报错信息报错原因解决办法 报错信息 Workbench密码登录 登录失败 操作系统禁用了密码登录方式&#xff0c;会导致使用了正确的用户名和密码仍无法登…

充电学习—7、BC1.2 PD协议

BC1.2&#xff08;battery charging&#xff09;充电端口识别机制&#xff1a; SDP、CDP、DCP 1、VBUS detect&#xff1a;vbus检测 PD&#xff08;portable device&#xff0c;便携式设备&#xff09;中有个检测VBUS是否有效的电路&#xff0c;电路有个参考值&#xff0c;高…

Python-自动化运维-安装初始化

Python-自动化运维-安装初始化 第一部分-环境安装 第一部分-环境安装 专业版白嫖地址&#xff1a;https://signup.live.com/signup python环境&#xff08;windows&#xff09; pycharm环境&#xff08;windows&#xff09; 虚拟机&#xff08;ubantu/contos&#xff09; 开…

电脑丢失dll文件一键修复的方法有哪些?分析dll文件修复的多种策略

我们经常会遇到各种各样的问题&#xff0c;其中之一就是DLL文件的丢失。DLL文件&#xff08;动态链接库&#xff09;是操作系统和应用程序正常运行所必需的文件&#xff0c;当这些文件丢失或损坏时&#xff0c;可能会导致软件无法正常启动&#xff0c;甚至影响系统的稳定性。对…

深入探究RTOS的任务调度

阅读引言&#xff1a; 此文将会从一个工程文件&#xff0c; 一步一步的分析RTOS的任务调度实现&#xff0c; 这里选用FreeRTOS分析&#xff0c; 别的也差不多的&#xff0c; 可能在细节上有少许不一样。 目录 1&#xff0c; 常见嵌入式实时操作系统 2&#xff0c; 任务调度的…

鸿蒙原生应用元服务开发-位置服务申请权限

申请位置权限开发指导 场景概述 应用在使用位置服务系统能力前&#xff0c;需要检查是否已经获取用户授权访问设备位置信息。如未获得授权&#xff0c;可以向用户申请需要的位置权限。 系统提供的定位权限有&#xff1a; ohos.permission.LOCATION&#xff1a;用于获取精准位置…

Docker配置阿里云加速器(2续)

默认情况下镜像是从docker hub下载&#xff0c;由于docker hub服务器在国外&#xff0c;由于网络原因镜像下载速度较慢&#xff0c;一般会配置镜像加速进行下载 国内镜像加速器有阿里云、网易云、中科大等&#xff0c;本章配置阿里云镜像加速器&#xff0c;速度较快 镜像加速源…

miniconda安装教程以及pip换源【Windows版本】

Anaconda包含内容较多&#xff0c;这边采用miniconda进行安装演示。 下载安装包 官网链接&#xff1a;https://docs.anaconda.com/miniconda/ 蓝奏云加速链接&#xff1a;https://wwt.lanzoue.com/i6ts3225vuef 开始安装 配置conda 在Windows开始菜单中&#xff0c;找到刚安…

监控局域网电脑屏幕的办法,最简单的三种方法,好用!

在现代企业管理和家庭教育环境中&#xff0c;对局域网内电脑屏幕进行有效监控成为了保障信息安全、提升工作效率和监督行为规范的重要手段。 监控局域网电脑屏幕不仅可以帮助管理者了解员工的工作状态&#xff0c;确保资源的合理使用&#xff0c;还能在一定程度上预防潜在的网…

storelibtest工具使用

1.介绍 服务器上使用broadcom raid卡&#xff0c;不可避免要使用到storelib代码。这一部分是由ami完整提供或者博通提供代码自行编译集成到ast2500/ast2600平台BMC中. 针对一般性的开发&#xff0c;依托ami代码&#xff0c;然后集成开发功能。但是如果是新功能导入而ami还未导…

【css】如何修改input选中历史选项后,自动填充的蓝色背景色

自动填充前&#xff1a; 自动填充后&#xff1a; 解决办法 方法一&#xff1a;设置背景透明 改变input自动填充背景颜色 // 通过拉长过渡时间&#xff0c;和延迟过渡开始时间&#xff0c;掩盖input自动填充背景颜色input:-internal-autofill-previewed,input:-internal-aut…

基于SpringBoot+Vue企业会议室预定管理系统设计和实现

基于SpringBootVue企业会议室预定管理系统设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 …

一招教你房间内灰尘多怎么处理?除粉尘好用的空气净化器分享

在你吸尘、扫地、擦家具的时候&#xff0c;你或许会奇怪&#xff0c;为什么灰尘每天擦&#xff0c;每天有&#xff1f;即使门窗关得好好的&#xff0c;过几天还是会落上一层薄薄的灰。它们究竟是什么&#xff1f;对我们的健康又有什么影响呢&#xff1f;我们每天生活在房屋中&a…

模型部署onnx入门

一、定义 1.定义 2. 环境安装 3. 案例 4. 可视化界面 5. 参考网址 6. 推理引擎 onnx Runtime 进行单张图片推理&#xff0c;本地部署 7. 推理引擎onnx Runtime 进行单张图片推理&#xff0c;调用摄像头获取画面 8. 推理引擎onnx Runtime 进行图片推理&#xff0c;调用摄像头获…

Spring Cloud 专题-配置篇(2)

关注微信公众号&#xff1a;IT技术馆 Spring Cloud 是一个基于 Spring Boot 构建的云应用开发工具集&#xff0c;它为开发人员提供了在分布式系统中快速实现常见模式&#xff08;如配置管理、服务发现、断路器等&#xff09;的能力。下面是一个简化的示例&#xff0c;展示如何…

结构思考力:让你的思维更有条理

在这个信息爆炸的时代&#xff0c;如何让自己的思维更有条理&#xff0c;更高效地沟通显得尤为重要。最近读了《结构思考力》一书。今天&#xff0c;我想和大家分享一下读后感&#xff0c;从以下几个方面展开&#xff1a;1. 什么是结构思考力及其重要性&#xff1b;2. 为什么要…

JavaScript日期对象、DOM节点操作(查找、增加、克隆、删除)

目录 1. 日期对象2. DOM节点操作2.1 查找节点2.2 增加节点2.3 克隆节点2.4 删除节点 1. 日期对象 实例化日期对象&#xff1a; 获取当前时间: new Date()获取指定时间: new Date(2023-12-1 17:12:08) 日期对象方法: 方法作用说明getFullYear()获得年份获取四位年份getMonth…