【前端学java】语法练习-工具类的封装(13)
往期回顾:
- 【前端学java】JAVA开发的依赖安装与环境配置 (0)
- 【前端学 java】java的基础语法(1)
- 【前端学java】JAVA中的packge与import(2)
- 【前端学java】面向对象编程基础-类的使用 (3)
- 【前端学java】类中的访问权限详解,通俗易懂(4)
- 【前端学java】java中final修饰符(5)
- 【前端学java】全网最通俗易懂的JAVA抽象概念(6)
- 【前端学java】Java中的接口和枚举概念(7)
- 【前端学java】java中的Object类(8)
- 【前端学java】java 中的数组(9)
- 【前端学java】java中的字符串操作(10)
- 【前端学java】java中的包装类(11)
- 【前端学java】java中的日期操作(12)
前端中,我们经常会封装一些常用方法
// utils.js
export function isEmpty(str){if(str === null || str === undefined || str === "") retrun trueretrun false
}
便于在其他文件内引入使用
// index.js
import { isEmpty } from "./utils.js"
let str = "1234"
let isHaveStr = isEmpty(str)
那么,java中我们如何封装一些方法方便使用呢?
语法封装的原则
Java中,没有前端这种“对象”概念、需要面向“类”来编程,因此,我们的方法自然是定义在一个类上。但是,使用类通常需要实例对象才能使用(new 一下),这很麻烦。
所以,我们的工具类在设计时,方法和属性应该声明为静态的,可以直接使用。
我们复习一下类的静态成员与静态方法的概念:
静态成员
静态变量是与类关联的变量,可以理解为类自身的属性,实例对象是木有的。静态变量可以用类名直接访问,而不需要创建类的实例。例如:
public class MyClass { static int count }使用类名访问静态成员变量。例如:
MyClass.count = 10;静态方法
静态方法是与类关联的方法。与静态变量一样,无需创建类的实例即可访问静态方法。
使用类名调用静态方法。例如:
MyClass.printMessage();
再者,工具类对外提供的属性或方法应该是公共的,所以用public声明。
封装示例
我们封装一个字符串的工具类、提供空值判断、生成随机字符串等功能
空值判断
package 工具类;public class My_Utils {public static void main(String[] args) {}
}// 封装一个字符串工具类class StringUtil {// 非空判断public static boolean isEmpty(String str){if (str == null || "".equals(str.trim())){return true;}return false;}
}
这个示例代码非常简单,里面有几个小概念,我们先熟悉下
- 在Java中,=== 符号并不存在、也没有undefined这个概念
- Java使用 == 操作符来比较两个值是否相等,当比较两个基本数据类型(如 int、char、double 等时,== 操作符的效果是相同的
- 在比较两个对象的内容是否相等时,不能使用 == 操作符!在Java中,对象比较的是它们的引用,而不是它们的值。在这种情况下,你应该使用 ****.equals() ****方法来比较两个对象的内容
- trim()方法用于删除字符串开头和结尾的空白字符(包括空格、制表符、换行符等)。这个方法是从java.lang.String类中继承的。
- String类的equals()方法被用于比较两个字符串是否相等。这个方法会判断两个字符串的内容是否完全相同。
我们验证下

嗯,非常丝滑~
生成随机字符串
java中生成uuid非常简单,借助UUID这个类就可以
package 工具类;import java.util.UUID;public class My_Utils {public static void main(String[] args) {System.out.println(StringUtil.makeString()); // 打印结果:ec2443d4-da6f-48d8-8055-1fa1e67eec8d}
}
// 封装一个字符串工具类
class StringUtil {public static String makeString(){return UUID.randomUUID().toString();}
}
相关文章:
【前端学java】语法练习-工具类的封装(13)
往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 (…...
Git 基本操作
目录 创建仓库命令 git init git clone 提交与修改 git add git status git diff git commit git reset git rm git mv git checkout git switch git restore 提交日志 git log git blame 远程操作 git remote git fetch git pull git push Git 的工作就…...
Oracle-分析函数(累计求和,排序等)
在Oracle中分析函数又称为开窗函数 分为以下两类: 第一类:是聚合分析函数,主要包含(sum,count,AVG、MAX、MIN等),主要是对内部分组的数值按照要求内部聚合处理; 第二类&a…...
4本期刊被踢!11月SCI/SSCI目录已更新
2023年11月20日,科睿唯安更新了Web of Science核心期刊目录。 此次更新后SCIE期刊目录共包含9481本期刊,SSCI期刊目录共包含3551本期刊。此次SCIE & SSCI期刊目录更新,与上次更新(2023年10月)相比,共…...
JS中Cookie的基本使用
JavaScript 创建Cookie: JavaScript 读取 Cookie : JavaScript 修改 Cookie: JavaScript 删除 Cookie : JavaScript Cookie(JavaScript 的 Cookie)是一种在Web浏览器中存储和检索用户信息的机制。它允许…...
关闭windows防火墙命令
关闭windows防火墙命令 打开windows PowerShell (管理员) 或 CMD (管理员) 指令: 查看当前防火墙状态:netsh advfirewall show allprofiles 关闭防火墙:netsh advfirewall set allprofiles state off 开启防火墙:netsh advfirewa…...
excel-gen.js 导出excel 功能
目录 概要 整体架构流程 html部分: js部分: json部分: 小结 概要 功能会使用到如下插件: jszip.min.js FileSaver.js jquery.min.js excel-gen.js highcharts.js exporting.js export_data.js 主要是highcharts图表…...
键鼠自动化2.0展示
软件介绍:桌面键鼠自动化工具 Qtc 编写: 本软件采用Qt C编写,旨在提供高效、跨平台的桌面键鼠自动化解决方案。Qt C框架的选择确保了软件的稳定性、可靠性,并通过其图形用户界面实现了用户友好的操作体验。 鼠标移动与点击&#…...
html主页框架,前端首页通用架构,layui主页架构框架,首页框架模板
html主页框架 前言功能说明效果使用初始化配置菜单加载主题修改回调 其他非iframe页面内容使用方式iframe页面内容使用方式 前言 这是一个基于layui、jquery实现的html主页架构 平时写的系统后台可以直接套用此框架 由本人整合编写实现,简单上手,完全免…...
SDWAN厂家排名
随着网络技术的不断发展,SDWAN(软件定义广域网)作为一种新兴的网络架构,正在受到越来 越多企业的关注和采用。选择一家可靠的SDWAN厂家成为企业成功部署和管理SDWAN的关键。本文将从技术实力、客户口碑以及市场占有率三个方面&…...
【STM32】CRC(循环冗余校验)
一、CRC的背景知识 1、什么是CRC (1)CRC(Cyclic Redundancy Check),循环冗余校验 (2)什么是校验,为什么需要校验:数据传输,数据存储过程中需要使用到的 (3)什么是冗余:表示比实际上要传输的数据…...
04.webpack中css的压缩和抽离
1.抽离css文件 利用mini-css-extract-plugin插件,替代style-loader const MiniCssExtractPlugin require(mini-css-extract-plugin) module.exports smart(webpackCommonConf, {mode: production,output: {// filename: bundle.[contentHash:8].js, // 打包代码…...
Vue 3 和 Spring Boot 3 的操作流程和执行步骤详解
1.介绍 在本篇博客中,我们将详细介绍Vue 3 和 Spring Boot 3 的操作流程和执行步骤。Vue 3 是一款流行的前端框架,而Spring Boot 3 是一款广泛应用于后端开发的框架。通过结合使用这两个框架,我们可以构建出功能强大的全栈应用。 2.Vue 3 的操…...
获取所有非manager的员工emp_no
个人网站 文章首发于公众号小肖学数据分析 题目来自牛客网 描述 有一个员工表employees简况如下: emp_nobirth_datefirst_namelast_namegenderhire_date100011953-09-02GeorgiFacelloM1986-06-26100021964-06-02BezalelSimmelF1985-11-21100031959-12-03PartoBamfordM1986…...
STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX
STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX FLASH是常用的一种非易失存储单元,W25QXX系列Flash有不同容量的型号,如W25Q64的容量为64Mbit,也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库实现FATS文件操作W25Q各型号FLASH的例程。…...
Sentinel 熔断规则 (DegradeRule)
Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 SpringbootDubboNacos 集成 Sentinel&…...
嵌入式Linux开发面试题和答案
熟练的编程语言: 问:“您在嵌入式系统开发中熟练使用哪些编程语言?”答:在嵌入式系统开发中,我熟练使用C、C和Python等编程语言。C语言因其接近硬件的操作和效率而被广泛应用;C则在需要面向对象编程时提供了…...
Linux安装Mysql详细教程(两种安装方法)
Linux之Mysql安装配置 第一种:Linux离线安装Mysql(提前手动下载好tar.gz包)第二种:通过yum安装配置Mysql(服务器有网络) 第一种:tar.gz包安装 1、 查看是否已经安装 Mysql rpm -qa | grep m…...
用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制商业文案助手
随着智能助手的不断普及和发展,商业文案的创作也变得更加智能化和定制化。在这个信息爆炸的时代,商业文案的撰写已经不再是简单的文字表达,而是需要结合大数据分析和人工智能技术,以更好地满足目标客群的需求。在本文中,我们将介绍如何利用向量数据库Milvus Cloud搭建GPT大…...
redis---非关系型数据库
关系数据库与非关系型数据库 redis非关系型数据库,又名缓存型数据库。数据库类型:关系型数据库和非关系型数据库关系型数据库是一 个机构化的数据库,行和列。 列:声明对象。 行:记录对象属性。 表与表之间的的关联。 sql语句&…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
