【前端学java】语法练习-工具类的封装(13)

往期回顾:

前端中,我们经常会封装一些常用方法

js 复制代码
// utils.js
export function isEmpty(str){
	if(str === null || str ===  undefined || str === "") retrun true
  retrun false
}

便于在其他文件内引入使用

js 复制代码
// 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声明。

封装示例

我们封装一个字符串的工具类 、提供空值判断 、生成随机字符串等功能

空值判断

java 复制代码
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这个类就可以

java 复制代码
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();
    }
}
相关推荐
弈栈录5 分钟前
MySQL 事务、索引与锁:后端开发必须掌握的数据库基础
数据库·后端
明月_清风6 分钟前
AI Agent 最大的问题,可能不是智商,而是“权限”
人工智能·后端
vx_Biye_Design9 分钟前
expressDeepSeek社团咨询助手的学生社团管理系统60746-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·课程设计·express
长安米粒贵11 分钟前
缓存明明加了,为什么数据还是不一致?聊聊 4 个容易忽略的边界
后端
yunwei3714 分钟前
eBPF 开发实践:使用 eBPF 隐藏进程或文件信息
linux·后端·性能优化
高频因子挖掘机15 分钟前
行情监控脚本重启后,怎样快速恢复而不重复拉取数据?
后端·github·api
aleafboat18 分钟前
只管去写(day2) 用claude分析老项目技术栈
后端
vx_Biye_Design24 分钟前
springboot宠物领养与救助平台64334-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·课程设计·宠物
用户77139702070626 分钟前
.NET 依赖注入入门
后端
量化分析码农32 分钟前
【Python量化系统工程实战 #03】任务跑挂了没人知道?用 60 行代码搭一套「监控 + 邮件 + 桌面推送」告警系统
后端