StringUtils工具类中的小细节,final的应用

看一下下面两份代码:

public class StringUtil {//代码1
    
    private StringUtil() {
        // 工具类不需要实现
    }
    
    public static boolean isEmpty(final String str) {
        return (str == null || str.length() <= 0 || "".equals(str.trim())) ? true : false;
    }

}
public class StringUtil {//代码2
    
    private StringUtil() {
        // 工具类不需要实现
    }
    
    public static boolean isEmpty(String str) {
        return (str == null || str.length() <= 0 || "".equals(str.trim())) ? true : false;
    }

}
他们唯一的区别在于形参中少了一个final,但是却别还是很大的,我们在用工具类进行判断的同时,需要保证原数据的不变性(当然不排除某些特殊的需求),为了保证这种不变性,加一个final修饰是很正确的决定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Kotlin创建一个工具类Utility Class),通常是为了提供一些常用的功能,而不需要依赖外部状态或实例化过程。这种类通常是final且不可实例化的,这样可以确保它们的行为不会改变,并且便于复用。 以下是创建一个简单的工具类的基本步骤: 1. **定义类**: - 首先,创建一个名为`YourUtils.kt`的新文件,因为工具类一般命名为以大写字母开头的单数形式,比如`StringUtils`或`MathUtils`。 ```kotlin package com.example.utils // 根据项目需求调整包名 object StringUtils { // 类的所有函数 } ``` 2. **添加功能函数**: - 在类体添加需要方法或常量。这些方法应该接受输入参数并返回值,如果需要执行操作,可以在内部定义匿名函数或使用`inline`关键字定义内联函数以提高效率。 ```kotlin fun isEmptyOrBlank(text: String): Boolean = text.isEmpty() || text.isBlank() fun capitalizeFirstLetter(text: String): String { return if (text.isNotEmpty()) text.toUpperCase() + text.substring(1) else "" } ``` 3. **声明为不可变对象**: - 因为工具类需要实例化,所以将其声明为`object`而非常规的`class`,并在类名前加上`object`关键字。 - `object`关键字还表示它是Singleton(单例)的,这意味着在整个应用程序只有一个实例。 4. **使用类**: - 工具类内的方法可以直接在其他类像访问静态成员一样使用,无需创建实例。 ```kotlin val yourText = "hello" val capitalizedText = StringUtils.capitalizeFirstLetter(yourText) println(capitalizedText) // 输出 "Hello" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值