1.string对象是final的?

1 String str="asdfdf";
2 str.replace("as","");
3 System.out.println(str);//asdfdf
4 str=str.replace("as","");
5 System.out.println(str);//dfdf

2.字符串的切割

遇到根据url获取参数的问题:

enterId = Long.parseLong(target.split("/")[2]);
这个要处理切割字符串问题
splitapi里是这样的:

public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。 
此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果:

Regex Limit 结果 
: 2 { "boo", "and:foo" } 
: 5 { "boo", "and", "foo" } 
: -2 { "boo", "and", "foo" } 
o 5 { "b", "", ":and:f", "", "" } 
o -2 { "b", "", ":and:f", "", "" } 
o 0 { "b", "", ":and:f" }

public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果 
: { "boo", "and", "foo" } 
o { "b", "", ":and:f" }

参数:
regex - 定界正则表达式 
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 
抛出: 
PatternSyntaxException - 如果正则表达式的语法无效

3.对json字符串去空值

上传代码错误导致数据库中地址存储有问题,有一些空的value,还有结尾多了两个键值对,当然也有的没问题。对sql掌握比较差,于是选择了用java处理,更新数据库。

处理的数据对象是这样的:

1 '{\"showImg_1\":\"/upload/webHome/template/4ddedebb-7615-4686-b27a-b515a6a5a2cc.jpg\",\"showImg_2\":\"/upload/webHome/template/2c0806ee-6165-4b95-949d-340ddad18171.jpg\",\"showImg_3\":\"/upload/webHome/template/35464a57-a987-4e40-91b4-f5b33e343f46.jpg\",\"showImg_4\":\"/upload/webHome/template/9bddbbd6-1ad2-4290-b087-caa26bf93197.jpg\",\"showImg_5\":\"/upload/webHome/template/604b7531-384b-4052-93cb-e5d51182023b.jpg\",\"showImg_6\":\"/upload/webHome/template/4673cf82-fa07-4acc-ac7c-e5c7ef9af687.jpg\",\"showImg_7\":\"\",\"showImg_8\":\"\",\"emplate.quickmark\":\"/upload/webHome/template/27b4cb88-b3b2-4046-bedd-c4ad92735310.jpg\",\"emplate.img\":\"/upload/webHome/template/7949e9eb-eb86-4d54-ab09-1271ea202b2e.jpg\"}'

用的jfinal框架:

 1 /**
 2      * 处理错误数据
 3      */
 4     public void manageSQL(){
 5         String sql="select * from _table";
 6          List<Record> list=Db.find(sql);
 7          setAttr("length",list.size());
 8          for(int i=0; i<list.size(); i++){
 9              //取出一条记录
10              Record r=list.get(i);
11              //取出json数据
12              String json=r.getStr("showImg");
13              setAttr("old=",json);
14              //去除emplate为key的开头的错误数据
15              int ind=json.indexOf(",\"emplate");
16              if(ind>0){
17                  json=json.substring(0, ind)+"}";
18              }
19              setAttr("new=",json);
20              //去除value为""的元素
21              json=json.replaceAll("((?<=\\{)\"\\w+\":\"\",|,*\"\\w+\":\"\")", "");
22              setAttr("all:"+i,json);
23
24              System.out.println(json+"=========");
25
26              //入库保存更新
27              r.set("showImg", json);
28
29              Db.update("home_template",r);
30
31          }
32
33          renderJson();
34     }

4.String对象的一些方法:

length() - 返回长度,注意和js中不同,js里面是length属性。

     对应长度:Array的长度-length;List的长度-size();

    

本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/4605205.html,如需转载请自行联系原作者

java中遇到过的String的一些特性相关推荐

  1. Java中collection.toArray(new String[0])、resultSet.toArray(new Integer[0])、Set.toArray()new 数组的性能比较

    一.在调用Set的toArray()方法的时候 在使用HashMap的时候,它的keySet()方法将返回一个Set集合 且Set是继承自Collection的,在使用toArray()的时候其实转换 ...

  2. Java中是否可以继承String类,为什么

    详细解析: 1. 关于final修饰符 参考文章:  浅析Java中的final关键字 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的&qu ...

  3. java中三种转string的方法_java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

  4. java中int转成String位数不足前面补零

    转载自:http://ych0108.iteye.com/blog/2174134 java中int转String位数不够前面补零 String.format("%010d", 2 ...

  5. java中System类、String Builder类简介

    System类: System类为系统类,此包位于java.lang.System下,可以获得与系统相关的信息或系统操作,如: public class SystemClass{public stat ...

  6. 如何在Java中初始化List <String>对象?

    本文翻译自:How to initialize List object in Java? I can not initialize a List as in the following code: 我 ...

  7. JAVA基础(12.Java中的常用类String)

    目录 1.前言 2.日期(时间)相关类 2.1 日期类的应用场景 2.1.1Java中的日期相关的几个类 3. Java中的常用类学习方式 3.1 什么是常用类?为什么要学习? 3.2 怎么使用Jav ...

  8. Java中,那些关于String和字符串常量池你不得不知道的东西

    老套的笔试题 在一些老套的笔试题中,会要你判断s1==s2为false还是true,s1.equals(s2)为false还是true. String s1 = new String("xy ...

  9. java中的 BigDecimal 和 String 的相互转换

    例子1,string 转BigDecimalpublic class Test{ public static void main(String[] arg) { String str1="2 ...

最新文章

  1. 2017SDN市场一片繁荣,全球企业纷纷“亮剑“
  2. MySQL replace()函数的使用
  3. SQUAD的rnet复现踩坑记
  4. 成功解决ValueError: not enough values to unpack (expected 2, got 1)
  5. 新版:全世界最前沿的125科学问题
  6. 26.QTableWidget用法
  7. 树莓派之启用root密码
  8. unity常用的引用赋值一个GameObject的三种方法
  9. 【图像分割】基于matalb GUI遗传神经网络图像分割【含Matlab源码 659期】
  10. 自动锁定计算机怎么设置,win10如何设置自动锁定屏幕_win10设置自动锁屏的步骤...
  11. npm install报错:npm WARN saveError ENOENT: no such file or directory, open ‘xxx‘
  12. office2013 安装易用宝不成功
  13. 华为ensp模拟校园网/企业网实例(精品拓扑图)
  14. LeetCode 781 森林中的兔子 题解
  15. Go 1.9 sync Map 源码阅读笔记
  16. LPC55S69开发笔记
  17. 尝试阅读和理解 PairRE: Knowledge Graph Embeddings via Paired Relation Vectors
  18. 【考研经验】一个苍山的不入流的学生的考研之路
  19. teamview服务器无响应,排查TeamViewer连接不上的2个可能原因及解决策略
  20. oracle11g 使用数据泵导出导入数据

热门文章

  1. 你好,法语A1知识点书本语法汇总
  2. 不愿意和别人打交道_不爱与人打交道的人,都是什么心理?你有了解吗
  3. Java基础 xmind总结 Day22
  4. 甜蜜好礼丨这个七夕不再孤寡孤寡孤寡~
  5. docker背后的内核知识
  6. C语言函数星阵用star,求一个汇编语言编写的动态五角星的程序
  7. 安卓系统开机运行shell脚本
  8. android 倒水动画,MAYA粒子制作逼真的倒水动画效果
  9. 华为 手机 铃声 添加 路径
  10. Java毕设项目爱家家政公司网站计算机(附源码+系统+数据库+LW)