【前端学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();
    }
}
相关推荐
2401_857622663 小时前
SpringBoot框架下校园资料库的构建与优化
spring boot·后端·php
2402_857589364 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
哎呦没5 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
_.Switch5 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
杨哥带你写代码7 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
AskHarries7 小时前
读《show your work》的一点感悟
后端
A尘埃7 小时前
SpringBoot的数据访问
java·spring boot·后端
yang-23077 小时前
端口冲突的解决方案以及SpringBoot自动检测可用端口demo
java·spring boot·后端
Marst Code7 小时前
(Django)初步使用
后端·python·django
代码之光_19807 小时前
SpringBoot校园资料分享平台:设计与实现
java·spring boot·后端