Java小代码(可直接用)
来源:互联网 发布:沙巴克传奇有哪些端口 编辑:程序博客网 时间:2024/06/07 00:01
1.把List<Map<String,Object>>转换成(' ',' ',...)格式的字符串
String careers = "(";
if(null!=careerDataList && careerDataList.size()!=0)
{
for(Map<String, Object> careerData:careerDataList)
{
//careers.add(careerData.get("career").toString());
String career = careerData.get("career").toString();
career = career.replace("'", "\\\'");
careers += "'"+career+"',";
}
}
careers = careers.substring(0,careers.length()-1)+")";
2.把数字(123456)转换成(123,456)这样带逗号的格式
P.S. 小数部分采取向上取整
private static String numberBetter(String num)
{
//null ,"","N/A"等 非数字的 不处理
if(null == num || "".equals(num) || "-".equals(num) || "N/A".equals(num))
{
return num;
}
//已经是标准格式 即带,的 直接返回
if(num.contains(","))
{
return num;
}
String number = "";
if(num.contains("."))
{
//手动 向上取整--只要有小数点,就进1
String[] nums = num.split("\\.");
//正数
String numberPart = "";
if(!nums[0].contains("-"))
{
int zheng = Integer.parseInt(nums[0].trim());
int xiao = Integer.parseInt(nums[1].trim());
if(xiao>0)
{
zheng += 1;
}
numberPart = zheng+"";
}else
{
int zheng = Integer.parseInt(nums[0].split("-")[1].trim());
int xiao = Integer.parseInt(nums[1].trim());
if(xiao>0)
{
zheng -= 1;
}
numberPart = zheng+"";
}
return numberBetter(numberPart);
}else
{
StringBuffer numberB = new StringBuffer();
char[] nums = num.toCharArray();
for(int i=0;i<nums.length;i++)
{
numberB.append(nums[i]);
if(i%3==(nums.length%3-1<0?2:nums.length%3-1))
{
numberB.append(",");
}
}
number = numberB.toString();
}
if(number.endsWith(","))
{
number = number.substring(0,number.length()-1);
}
return number;
}
3.把字符串中的数字和文字分离
P.S.需保证字符串中只出现一处数字(eg:今天是2017年,11月,6日),可以用,切分字符串再使用这个方法
(我这个方法是工作中需要把美元欧元转换成人民币,没有一句话多个数字的情况,最近在研究正则,过几天也许可以补一个字符串允许多个数字的)
private static String[] splitValue(String t_values)
{
String[] strParts = new String[3];
String ex = "";
String fee = "";
String sub = "";
//去逗号,确保后面是纯数字
//t_values = t_values.replace("$", "").replace("美元", "").replace("欧元", "").replace(" ", "");
//正则校验数字
String pattern = "\\d+";
Pattern r = Pattern.compile(pattern);
//经过去小数点 从$945.00每小时变成$945每小时
if(t_values.contains("/"))
{
sub = t_values.split("/")[1];
t_values = t_values.split("/")[0];
String[] subs = t_values.split("");
List<String> xiaoshu = new ArrayList<String>();
for(String values:subs)
{
Matcher m = r.matcher(values);
if (m.find( ))
{
xiaoshu.add(m.group());
}
}
for(String xs:xiaoshu)
{
fee += xs;
}
if(t_values.indexOf(fee) > 0)
{
ex = t_values.split(fee)[0];
}
}else
{
String[] subs = t_values.split("");
List<String> xiaoshu = new ArrayList<String>();
for(String values:subs)
{
Matcher m = r.matcher(values);
if (m.find( ))
{
xiaoshu.add(m.group());
}
}
if(null != xiaoshu && xiaoshu.size()!=0)
{
for(String xs:xiaoshu)
{
fee += xs;
}
if(t_values.indexOf(fee) > 0)
{
ex = t_values.split(fee)[0];
if(t_values.split(fee).length==2)
{
sub = t_values.split(fee)[1];
}
}else if(t_values.indexOf(fee) == 0)
{
sub = t_values.substring(xiaoshu.size());
}else
{
System.out.println("*");
}
}else
{
ex = t_values;
}
}
if("".equals(sub))
{
sub = "元";
}else if(sub.startsWith("每"))
{
sub = "元/"+sub.substring(1);
}else
{
sub = "元"+sub;
}
sub = sub.replace("元万", "万元");
strParts[0] = ex;
strParts[1] = fee;
strParts[2] = sub;
return strParts;
}
4.把List转换成Json格式
P.S.由于工作数据库结构及前台js的控件写法,要求value的是数字格式,所以没有拼引号
private static String toJson(List<Map<String, Object>> list)
{
String result = "";
if(list != null && list.size()!=0)
{
result = "[";
for(Map<String, Object> map:list)
{
if(map != null && map.size()!=0)
{
result += "{";
Set<Entry<String, Object>> entrySet = map.entrySet();
for(Entry<String, Object> entry:entrySet)
{
if("value".equals(entry.getKey()))
{
result += "'"+entry.getKey()+"':"+entry.getValue()+",";
}else
{
result += "'"+entry.getKey()+"':'"+entry.getValue()+"',";
}
}
result = result.substring(0,result.length()-1);
result += "},";
}
}
result = result.substring(0,result.length()-1);
result += "]";
}
return result;
}
- Java小代码(可直接用)
- 二叉树遍历(先中后序 递归和非递归+层次遍历)java代码 可直接运行
- 根据指定的数组顺序排序(可直接用 代码)
- 多附件的上传下载--代码可直接用
- 正则校验(可直接用)
- java、Android银行卡校验(代码copy过去直接用)
- 直接用java代码操作数据库(记录)
- Java 生成可直接下载的二维码(spring boot)
- 关于java中MD5加密(可直接使用)
- Ajax代码,js中可直接调用
- java和Android文件下载断点续传和图片下载代码实现,可直接复制简单实现
- java中的String:用代码直接分析
- 制作java可直接运行程序
- Android一行代码实现将Log写入文件(可配置是否输出Log,测试包可直接用于发布)
- UE4 插件打包后的小技巧(可修改,可隐藏代码等)
- android项目整体界面架构(可直接复用)
- android 混淆工具(可直接拿来用或学习)
- 很漂亮的按钮css样式(没有用到图片,可直接拷贝代码使用)
- Codeforces Round #442 (Div. 2) E. Danil and a Part-time Job【线段树+dfs序】
- arm汇编—str指令
- iPhone X 的凹槽 和 iOS 11 中一些相关 CSS 属性
- Failed to read auto-increment value from storage engine
- idea配置SpringBoot热部署
- Java小代码(可直接用)
- Dubbo-SPI
- Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class . Cause: org.apache.iba
- Node.js学习笔记(1)
- js学习
- dataguard日常操作
- mysql命令大全(速成版)
- DNX SDK版本 “dnx-clr-win-x86.1.0.0-beta5”无法安装
- 欢迎使用CSDN-markdown编辑器