JAVA常用工具类整理

SecureCRT 9.0最新版安装与激活全攻略(附驱动识别技巧) 本文提供SecureCRT 9.0最新版的详细安装与激活指南,并重点解析了嵌入式开发中串口连接的硬件驱动识别技巧。内容涵盖从安全获取软件、解决USB转串口驱动兼容性问题,到配置SSH与串口会话的完整流程,旨在帮助开发者和工程师高效部署并精通使用这款终端仿真利器。 阅读详情

JsonUtils 工具类

package com.esdata.sync.utils;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.List;
import java.util.Map;

public class JsonUtils {

    private static final ObjectMapper objectMapper = new ObjectMapper();

    static {
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        objectMapper.findAndRegisterModules();
    }

    private JsonUtils() {
        throw new UnsupportedOperationException("Utility class");
    }

    public static String toJson(Object object) {
        try {
            return objectMapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error converting object to JSON string", e);
        }
    }

    public static <T> T fromJson(String json, Class<T> clazz) {
        try {
            return objectMapper.readValue(json, clazz);
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error converting JSON string to object", e);
        }
    }

    public static <T> List<T> fromJsonToList(String json, Class<T> clazz) {
        try {
            return objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(List.class, clazz));
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error converting JSON string to List", e);
        }
    }

    public static <K, V> Map<K, V> fromJsonToMap(String json, Class<K> keyClass, Class<V> valueClass) {
        try {
            return objectMapper.readValue(json, objectMapper.getTypeFactory().constructMapType(Map.class, keyClass, valueClass));
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error converting JSON string to Map", e);
        }
    }

    public static <T> T fromJson(String json, TypeReference<T> typeReference) {
        try {
            return objectMapper.readValue(json, typeReference);
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error converting JSON string to type", e);
        }
    }

    public static String toJsonPretty(Object object) {
        try {
            return objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);
        } catch (JsonProcessingException e) {
            throw new RuntimeException("Error converting object to formatted JSON string", e);
        }
    }

    public static void ignoreNullValues() {
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    }
}

ESUtils

package com.esdata.sync.utils;

import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j2;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexResponse;
import org.elasticsearch.client.indices.GetIndexRequest;
import org.elasticsearch.common.xcontent.XContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.io.IOException;
@Log4j2
@Component
public class ESUtils {

    @Autowired
    private  RestHighLevelClient client;



    /**
     *  判断提定的索引名是否存在
     * @param indexName 索引名
     * @return true 存在  false 不存在
     * @throws IOException
     */
    public boolean indexExists(String indexName) {
        GetIndexRequest request = new GetIndexRequest(indexName);
        try {
            RequestOptions aDefault = RequestOptions.DEFAULT;
            return client.indices().exists(request,aDefault);
        }catch (Exception ex){
            log.error("indexExists ex:{}",ex);
        }
        return false;
    }

    /**
     * 创建索引
     * @param indexName
     * @return
     * @throws IOException
     */
    public boolean createIndex(String indexName)  {
        try {
            CreateIndexRequest indexRequest = new CreateIndexRequest(indexName);

            CreateIndexResponse createIndexResponse =client.indices().create(indexRequest, RequestOptions.DEFAULT);
            return true;
        }catch (Exception ex){
            log.error("createIndex ex:{}",ex);
        }
        return false;
    }


    public void insert(String indexName,String id,String strJson) {
        //新增数据时执行此方法
        if (yesOrNO(indexName)){
            try {
                IndexRequest request = new IndexRequest(indexName).id(id);
                log.info("新增数据时执行此方法{}:{}:{}",indexName,id,strJson);
                request.source(strJson, XContentType.JSON);
                IndexResponse response = client.index(request, RequestOptions.DEFAULT);
                log.info("json:{}--status:{}--result:{}",strJson,response.status().getStatus(),response.getResult());
            }catch (Exception ex){
                log.error("insert ex:{}",ex);
            }
        }

    }

    @SneakyThrows
    public void update(String indexName,String id,String strJson) {
        log.info("更新数据时执行此方法{}:{}",indexName,id);
        UpdateRequest request=new UpdateRequest(indexName,id);
        request.doc(strJson, XContentType.JSON);
        UpdateResponse response = client.update(request, RequestOptions.DEFAULT);
        log.info("status:{}--result:{}",response.status().getStatus(),response.getResult());
        //更新数据时执行此方法
    }

    @SneakyThrows
    public void delete(String indexName, String id) {
        log.info("删除数据时执行此方法{}:{}",indexName,id);

        //删除数据
        DeleteRequest deleteRequest = new DeleteRequest().index(indexName).id(id);
        DeleteResponse deleteResponse = client.delete(deleteRequest, RequestOptions.DEFAULT);
        log.info("status:{}--result:{}",deleteResponse.status().getStatus(),deleteResponse.getResult());

    }

    private boolean yesOrNO(String indexName) {

        boolean exists =indexExists(indexName) ;
        if (!exists){
           return createIndex(indexName);
        }
        return true;
    }
}

 Bean 工具类

/**
 * 对象拷贝
 */
public class BeanToVoUtils {


    public static void copyProperties(Object source, Object target) {
        BeanUtils.copyProperties(source, target);
    }


    public static <T> T copyPropertiesVo(Object source, Class<T> clazz) {
        try {
            //将实体类转换为 Map
            Map map = JsonUtils.fromJson(JsonUtils.toJson(source), Map.class);
            // 将Map转换为 实体类类型不一样
            return (T) JsonUtils.fromJson(JsonUtils.toJson(map), clazz);
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }

华为OD机试:查找接口成功率最优时间段 (C/C++/Py/Java/JS/GO) 华为OD机试双机位C卷 查找接口成功率最优时间段,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。 阅读详情

相关推荐

Anolis龙蜥内核升级实战:从查询到配置的全流程指南

本文提供了一份详尽的Anolis龙蜥操作系统内核升级实战指南。文章从升级的必要性出发,逐步讲解了升级前的系统检查与备份、从官方源获取正确内核包、分步安装与验证、配置默认启动项以及升级后的功能验证与安全回滚方案。旨在帮助运维人员安全、平稳地完成内核升级,以获取性能提升、新硬件支持及重要的安全漏洞修复。

qq_27496129的博客 572

Java 常用工具类整理

本文整理了Java开发中常用的工具类及其核心方法,涵盖字符串处理、文件操作、集合处理、加密解密、属性操作等多个方面。主要包括Apache Commons系列的StringUtils、FileUtils、IOUtils等工具类,以及Spring框架的StringUtils和HttpClient的EntityUtils等。这些工具类提供了字符串判空、文件读写、集合过滤、MD5加密、对象属性复制等常用功能,能够显著提高开发效率。每个工具类都列举了其最常用的方法,如isBlank、copyFile、md5Hex等

weixin_39956506的博客 802

”COMSOL“竟然如此简单!我悟了!!

COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的计算性能,可以保证数值仿真的高度精确,已被广泛应用于各个学科领域,近年来运用COMSOL来解决电化学实际工程问题也越来越普遍。

C1012562281的博客 3449

Java常用工具类大全,工作5年精心整理(最新版)

Java常用工具类大全,工作5年精心整理(最新版) 去发现同类优质开源项目:https://gitcode.com/ 本资源文件汇集了Java编程中常用的工具类,是经过五年工作经验积累和精心整理的成果。以下是资源包含的工具类概览: 一、通用操作类 字符串操作 数字处理 日期处理 各种校验工具(如邮箱、手机号校验) 二、文档操作 Excel文档处理 PDF文档处理 三、加密解密 MD5加密...

gitblog_06717的博客 370

【20230415】Ubuntu22.04双屏显示触屏设置,解决触摸点和响应位置不一致的问题

双屏显示时,如果存在一个触摸屏,有可能会出现触摸点和响应位置不一致的问题。我的显示器配置如下:一个34寸,3440*1440;一个22英寸触摸屏,1920*1080。

Creationyang的博客 3216

告别理论!手把手教你用Patran/Nastran搞定悬臂翼的颤振分析(附完整模型文件)

本文提供了一份详细的Patran/Nastran悬臂翼颤振分析实战指南,涵盖从几何建模到结果解读的全过程。通过手把手教学和完整模型文件,帮助工程师和学生快速掌握气动弹性分析技术,特别适合需要实际操作的初学者。文章重点介绍了模态分析、气动建模和颤振求解等关键步骤,并提供了常见问题排查和优化建议。

weixin_30879169的博客 494

java 常用工具类_Java常用工具类整理

java.lang.Objects / org.apache.commons.lang.ObjectUtils;boolean isNull(Object obj); 判断nullboolean equals(Object a, Object b); 等值判断int hashCode(Object o); 哈希值String toString(Object o, String defaul...

weixin_42342206的博客 125

线性自抗扰控制LADRC(一)---基础知识

LADRC(Linear Active Disturbance Rejection Control)是ADRC的线性化版本,通过简化非线性模块(如ESO和反馈律)降低计算复杂度,适用于实时控制系统(如电机驱动)。

ApexYuan 2078

Java常用工具类大全工作5年精心整理最新版:Java开发者的效率提升利器

Java常用工具类大全工作5年精心整理最新版:Java开发者的效率提升利器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 对于Java开发者而言,拥有一套完善的工具类库意味着能在项目中大大提高开发效率,减少重复劳动。今天,我们要推荐的这个项目——Java常用工具类大全,正是工作5年资深开发者精心整理的最新版工具类集合。它涵盖了通用操作、文档处理、加密解密、文件操作、H...

gitblog_06774的博客 323

Robust MPC 4 (鲁棒&随机 MPC)

Robust MPC

weixin_44299806的博客 2737

ADS 2023 实战:手把手教你仿真一个中心频率 2.4GHz 的带通滤波器(附工程文件)

本文详细介绍了使用ADS 2023软件设计和仿真中心频率2.4GHz带通滤波器的全流程,包括工程准备、指标定义、原理图设计、仿真优化及实际电路实现。通过切比雪夫滤波器拓扑和参数优化,实现高性能的带通滤波器设计,适用于无线通信系统。附有工程文件和常见问题解决方案,助力工程师快速掌握射频滤波器设计技巧。

weixin_30790841的博客 482

java 常用工具类整理

在coding时,有时会遇到这样的问题:        自己将要实现的功能很通用,例如将Map转换为Bean,求两个集合的交集等。自己写太麻烦,而且也有可能写出来的程序健状性不行。内心开始嘀咕:有木有比较“官方”,“可靠”的代码实现该功能呢?  遇到这样的疑惑时, 通常可以: 1. 向有经验的同学请教; 2. google或百度 3. 可以关注下常见的工具类资源,例如apache

courage的专栏 736

【Zephyr存储专题】06_存储块设备驱动开发(Nand Flash)

本文介绍了基于Zephyr系统的NAND Flash驱动实现方案,重点阐述了Flash驱动模型的核心架构和关键API设计。

zero的博客 1805

Java常用工具类整理

spring的断言工具类Assert Assert.notNull(Object object, “object is required”) - 对象非空 Assert.isTrue(Object object, “object must be true”) - 对象必须为true Assert.notEmpty(Collection collection, “collect...

qq_36612779的博客 447

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java常用工具类整理

java常用工具类 整理

小盆吃货 312

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java常用工具类整理一

1.Java中计算两个时间的差

逍遥飞鹤的专栏 2028

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java 常用工具类 方法整理

java 常用工具类 方法整理 总结了下项目中常用的一些通用方法。 代码块 package com.wemall.core.tools; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.J

小白笔记本 1582

java常用工具类和Hutool常用的工具类整理

java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /** * Scanner 类 */ @Test public void testScanner() { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个数字: "); int sc = scanner.nextInt(); System.out.println(sc); } 1.2Rando

java技术博客 4876
上一篇: vs code 修改主题setting.json
下一篇: Transformer 是什么?
学博成
博客等级 码龄17年 915粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值