整理到一个工具类里面,用到了spring和alibaba.fastjson

package common;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*; import org.springframework.cglib.beans.BeanMap; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* 〈一句话功能简述〉
* 〈功能详细描述〉
*
* @author 龙谷情
* @date 2020/4/22-16:14
* @since [v1.0]
*/
public class Utils {
/**
* 将list拆分成多给指定的大小的list
*/
public static <T> List<List<T>> createList(List<T> target, int size) {
List<List<T>> listArr = new ArrayList<List<T>>();
//获取被拆分的数组个数
int arrSize = target.size() % size == 0 ? target.size() / size : target.size() / size + 1;
for (int i = 0; i < arrSize; i++) {
List<T> sub = new ArrayList<T>();
//把指定索引数据放入到list中
for (int j = i * size; j <= size * (i + 1) - 1; j++) {
if (j <= target.size() - 1) {
sub.add(target.get(j));
}
}
listArr.add(sub);
}
return listArr;
} /**
* 将Object转list
*/
public static <T> List<T> castList(Object obj, Class<T> clazz) {
List<T> result = new ArrayList<T>();
if (obj instanceof List<?>) {
for (Object o : (List<?>) obj) {
result.add(clazz.cast(o));
}
return result;
}
return null;
} /**
* 将map转成实体类
*/
public static <T> T mapToBean(Map<String, Object> map, T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
} /**
* 获取某天开始时间戳,0点0分0秒000
*/
public static Long date2StartTimeStamp(String date_str, String format) throws ParseException {
long timeStart = 0;
timeStart = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").parse(date_str+" 00:00:00:000").getTime();
return timeStart;
} /**
* 获取某天开始时间戳,0点0分0秒000
*/
public static Long date2EndTimeStamp(String date_str, String format) throws ParseException {
long timeStart = 0;
timeStart = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").parse(date_str+" 23:59:59:999").getTime();
return timeStart;
} /**
* 按格式获取当前时间获取时间
*/
public static String getDateString(String format) {
Date date = new Date(System.currentTimeMillis());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
String processCd = simpleDateFormat.format(date);
return processCd;
} /**
* Object转double
*
*/
private Double object2Double(Object obj) {
if (obj != null) {
return Double.parseDouble(obj.toString());
}
return 0.00;
} /**
* Object转int
*/
private int object2Int(Object obj) {
if (obj != null) {
return Integer.parseInt(obj.toString());
}
return 0;
} /**
* 其他常用基本方法
*/
public static void otherFunction(String format) {
//List<Object>转List<String>
List<Object> objectList = new ArrayList<Object>();
List<String> stringList = (List<String>)(List)objectList;
//将List<String>转成按某字符拼接成字符串
String stringList2String = String.join(",", stringList);
//将字符串按照某字符拆分成List<String>
List<String> string2StringList = Arrays.asList(stringList2String.split(",")); //String[]转List<String>
List<String> stringList1 = Arrays.asList(new String[]{"str1","str2"});
//此时,stringList1不能使用add方法,会报错Exception in thread "main" java.lang.UnsupportedOperationException,要进行以下处理
List<String> stringList2 = new ArrayList<>(Arrays.asList(new String[]{"str1","str2"})); //将json中对应字段转成实体类
JSONObject json = new JSONObject();
Bean processInfoBean = JSONObject.parseObject(json.toJSONString(), Bean.class);
} }

java日常问题和技巧2的更多相关文章

  1. Java程序性能优化技巧

    Java程序性能优化技巧 多线程.集合.网络编程.内存优化.缓冲..spring.设计模式.软件工程.编程思想 1.生成对象时,合理分配空间和大小new ArrayList(100); 2.优化for ...

  2. Eclipse调试Java的10个技巧【转】

    clipse调试Java的10个技巧 先提三点 不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时 ...

  3. Java程序员面试技巧

    Java 程序员面试技巧 对于每一个求职者,有一份优秀的简历是很必要的,企业通过简历的筛选,会给予求职者面试的机会.然而,很多求职者就是在面试过程中与钟情的工作失之交臂.如何在面试中取得成功呢?“细节 ...

  4. OMG,12 个精致的 Java 字符串操作小技巧,学它

    字符串可以说是 Java 中最具有代表性的类了,似乎没有之一哈,这就好像直播界的李佳琪,脱口秀中的李诞,一等一的大哥地位.不得不承认,最近吐槽大会刷多了,脑子里全是那些段子,写文章都有点不由自主,真的 ...

  5. Java 常用类库与技巧【笔记】

    Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...

  6. Eclipse Java 开发平台实用技巧

    前言 在使用Eclipse开发Java程序的使用,有很多实用的技巧,能大大提高开发效率. 本文将介绍一部分技巧.更多的心得还得在具体项目中慢慢掌握,熟悉. 初始设定 这些具体的设置方法这里不说,网上很 ...

  7. Java 8 开发顶级技巧

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 我使用Java 8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的 ...

  8. HTML5+js页面传值给Java后台的小技巧

    页面传值小技巧 平常我们在做的web项目,一般一个HTML页面上会有好几个步骤,step_num①,step_num②,step_num③,一般先显示step_num①,根据跳转条件显示step_nu ...

  9. 11 个简单的 Java 性能调优技巧

    大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识.好吧,不能说这是完全错误的.优化应用程序以获得最佳性能不是一件容易的事情.但是,这并不意味着如果你不具备这些知识,就不能做任何事情.这 ...

  10. 11个简单的Java性能调优技巧,傻瓜都能学会!

    大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识.好吧,不能说这是完全错误的.优化应用程序以获得最佳性能不是一件容易的事情.但是,这并不意味着如果你不具备这些知识,就不能做任何事情. ...

随机推荐

  1. 为Avalonia应用添加图标

    前言 为了让自己开发的应用更加好看,开发者往往需要增加一些图标. 本文分享在开发Avalonia应用时如何为应用增加图标,希望可以帮助到正在学习使用Avalonia并有此需求的开发者. 实践 经过搜索 ...

  2. 让 AI 对接和 MySQL 数据库对话

    一.场景说明: 通过 AI 连接 MySQL 结构化数据库表,预期实现通过AI对话数据库表,快速了解数据情况,能够进行简单的汇总统计,快是实现问答. 二.资源准备: 需提前准备以下内容: AI大语言模 ...

  3. Git提交修正的核心技巧:git commit --amend 的专业实践与深度解析

    结论先行 git commit --amend 是用于 修正最近一次提交 的高效工具,可修改提交信息.追加遗漏文件或调整代码内容,避免冗余提交记录,保持提交历史的简洁性.适用于本地未推送的提交修复场景 ...

  4. K8s新手系列之K8s架构

    应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署 互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分 ...

  5. 工具 | webshell-decryptor

    0x00 简介 webshell-decryptor是一款通过获取到的webshell流量.url.key来还原攻击者使用webshell所做操作的工具. 下载地址: webshell-decrypt ...

  6. 【记录】博客|Markdown写作常用的符号表示、公式写法合集

    文章目录 基础内容Basic 1.符号合集 2.LaTeX公式输入 附加内容Addition 1.公式左对齐 2.Markdown文档导出的PDF分页 基础内容Basic 1.符号合集 LATEX M ...

  7. 中国版 Cursor:CodeBuddy

    我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 一句话即可让 AI 助手生成网 ...

  8. Markdown 使用十分钟入门

    Markdown 十分钟入门 标题 标题前#+空格 支持6级标题 输入样式#+空格:##+空格:以此类推, *注意标题输入的#前面不能有空格 字体 斜体 # 这里不要空格 _斜体_ *加一个* 字体加 ...

  9. 记一次burp抓不到包的排查与处理

    ​ 一次遇到了burp上奇怪的bug.访问某个页面显示 No response received from remote server , ​ 但是使用 yakit 进行抓包之后发现网站可以正常抓包 ...

  10. ES查不到最近的数据解决方法

    其实是因为索引的刷新策略导致的,不是实时刷新的. 下载开源的 ES 界面客户端ES King:https://github.com/Bronya0/ES-King 连接后,选择索引,选择flush索引 ...