乱七八糟

乱七八糟(关于一些小技巧和小bug集合)

		String sql="select count(*) from travel.tab_route where cid=?";
        Integer integer = jdbcTemplate.queryForObject(sql, Integer.class, cid);

重点:

可以用来返回count(*)

  Integer integer = jdbcTemplate.queryForObject(sql, Integer.class, cid);

将获得的rname重新编码为utf-8

rname=new String(rname.getBytes("iso-8859-1"),"utf-8");

当有值才能转换

String rname = request.getParameter("rname");
        //找了半天的bug  当rname有值时才进行转换,否则会出错
        if (rname!=null){
            rname=new String(rname.getBytes("iso-8859-1"),"utf-8");
        }

没有值时候 rname="null" 是字符串类型的

离天下之大谱

dao层要加一次判断

 //servlet中获得String类型的空值null 所以要多加一个判断
        if(rname != null && rname.length() > 0 && !"null".equals(rname)){
            sb.append(" and rname like ? ");

            params.add("%"+rname+"%");
        }

jdbcTemplate的?可以用数组代替

jdbcTemplate.query(sql,new BeanPropertyRowMapper<Route>(Route.class),params.toArray());

Java substring() 方法

substring() 方法返回字符串的子字符串。

  • public int lastIndexOf(int ch): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • public int lastIndexOf(int ch, int fromIndex): 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索,如果此字符串中没有这样的字符,则返回 -1。
  • public int lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • public int lastIndexOf(String str, int fromIndex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索,如果此字符串中没有这样的字符,则返回 -1。
    //完成方法的分发
        //获取请求路径
        String uri = req.getRequestURI();  // travel/user/add
        //获取方法名称
        //重点 通过路径获取方法的名称
        String methodName = uri.substring(uri.lastIndexOf('/')+1);

Session的自杀方法

    public void exit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //弄死自己  清除session
        request.getSession().invalidate();
        //跳转到登录页面  有数据才进行转发
        response.sendRedirect(request.getContextPath()+"/login.html");

    }

集合与List 与ArrayList与Set

集合

1.Java中的集合主要分为四类:

2.List列表:有序的,可重复的;

3.Queue队列:有序,可重复的;

4.集合类下包含的主要的实现类:

5.List列表:有序,可重复 1.1 ArrayList数组列表,有序,可重复,内部是通过Array实现。对数据列表进行插入、删除操作时都需要对数组进行拷贝并重排序。因此在知道存储数据量时,尽量初始化初...

List

List是一个接口,而ListArray是一个类。
ListArray继承并实现了List。
所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。
List list; //正确 list=null;
List list=new List(); // 是错误的用法

List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。
而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。

ArrayList

List是一个接口,而ListArray是一个类。
ListArray继承并实现了List。
所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。
List list; //正确 list=null;
List list=new List(); // 是错误的用法

List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。
而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。

练习题

java如何实现list集合的去重

//利用set的特性,集合元素的唯一性

public static List heavyListMethod01(List list){

Set set=new HashSet(list);

LIst alist=new ArrayList();

for(object o : set){

​ alist.add(o);

}

return alist;

}

posted @   Az-Xm  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示