diff --git a/continew-starter-core/src/main/java/top/continew/starter/core/util/StrUtils.java b/continew-starter-core/src/main/java/top/continew/starter/core/util/StrUtils.java new file mode 100644 index 00000000..22622c03 --- /dev/null +++ b/continew-starter-core/src/main/java/top/continew/starter/core/util/StrUtils.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + *

+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.gnu.org/licenses/lgpl.html + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.continew.starter.core.util; + +import cn.hutool.core.text.CharSequenceUtil; + +import java.util.function.Function; + +/** + * 字符串工具类 + * + * @author Charles7c + * @since 2.0.1 + */ +public class StrUtils { + + private StrUtils() { + } + + /** + * 如果字符串是{@code null}或者""或者空白,则返回指定默认字符串,否则针对字符串处理后返回 + * + * @param str 要转换的字符串 + * @param defaultValue 默认值 + * @param mapping 针对字符串的转换方法 + * @return 转换后的字符串或指定的默认字符串 + * @since 2.0.1 + */ + public static T blankToDefault(CharSequence str, T defaultValue, Function mapping) { + return CharSequenceUtil.isBlank(str) ? defaultValue : mapping.apply(str.toString()); + } +}