Skip to content

Cyxxxxx/common-scala-impl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

common-scala-impl

参考apache-commons-lang或spring-framework-bean中一些Utils的Scala实现

使用说明

Scala

在Scala中,import cn.yuc.common._ 即可使用common包下的所有utils

Java

在Java中,import cn.yuc.common.japi.*; 即可使用common包下的所有utils

增强函数

eval

common-scala-impl封装了eval函数,可动态执行一些String类型的Scala代码

详见src\test\scala\eval\Test.scala

工具类

Asserts

Asserts包装了断言assert的相关操作

import cn.yuc.common.Asserts
val obj = ""
Asserts.notNull(obj,"若对象为空,抛出Error并提示该条错误消息")

ArrayUtils

Scala

在Scala中的Array自带了toListtoBuffer函数,但ArrayUtils提供了更为明确的函数

import cn.yuc.common.ArrayUtils
val arr = Array(1,2,3)
ArrayUtils.asImmutableList(arr) // 等价于 arr.toList,但更明确数组能够转化为不可变列表
ArrayUtils.asListBuffer(arr) // 将 Array 转化为 ListBuffer 而非 Buffer
ArrayUtils.asJavaMutableList(arr) // 将 Array 转化为 java.util.List

详见src\test\scala\array\ScalaTest.scala

Java

在Java中,人们常用Arrays.asList(arr)Array转化为List,但是该List并不可变(immutable)

import cn.yuc.common.japi.ArrayUtils;
class Test {
    public static void main(String[] args) {
        String[] strings = {"a","b","c"};
        System.out.println(ArrayUtils.asMutableList(strings));
        System.out.println(ArrayUtils.asImmutableList(strings));
        ArrayUtils.asMutableList(strings).add("d");
        ArrayUtils.asImmutableList(strings).add("d"); // throw java.lang.UnsupportedOperationException
    }
}

详见src\test\scala\string\JavaTest.java

BeanUtils

在Spring中,人们常用org.springframework.beans.BeanUtils.copyProperties(source,target)来对POJO的属性进行复制

common-scala-impl以scala提供上述方法的实现,并提供更易用的隐式转换函数和工具函数

Scala

详见src\test\scala\bean\ScalaTest.scala

Java

详见src\test\scala\bean\JavaTest.java

ClassUtils

ClassUtils提供了一些对Class对象进行操作或检查的函数,帮助人们更好地使用Java反射API,详见注释

StringUtils

Scala

详见src\test\scala\string\ScalaTest.scala

Java

在Java中,通过import cn.yuc.common.japi.StringUtils调用其中的静态方法即可

详见src\test\scala\string\JavaTest.scala

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages