【前端学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();
    }
}
相关推荐
程序员爱钓鱼1 小时前
Go语言实战案例-判断一个数是否为质数
后端·google·go
程序员爱钓鱼1 小时前
Go语言实战案例-读取本地文本文件内容
后端·google·go
mCell9 小时前
Go 并发编程基础:从 Goroutine 到 Worker Pool 实践
后端·性能优化·go
Python智慧行囊10 小时前
Flask 框架(一):核心特性与基础配置
后端·python·flask
ん贤11 小时前
如何加快golang编译速度
后端·golang·go
摸鱼仙人~13 小时前
Spring Boot 参数校验:@Valid 与 @Validated
java·spring boot·后端
思无邪667513 小时前
从零构建搜索引擎 build demo search engine from scratch
后端
Littlewith13 小时前
Node.js:创建第一个应用
服务器·开发语言·后端·学习·node.js
码间舞13 小时前
【面试官】:NodeJs事件循环你了解多少?我笑了,让我喝口水慢慢给你说来......
后端·node.js
itsoo14 小时前
2.5万字!一文搞懂稳定性建设要怎么做?
后端