java问题小总结

1.在使用equals的时候,把  "".equals(name);放在左边

   如果右边的没有初始化,可以避免出错。

2.对于 ObjectId id;

  在mongodb里面对其进行操作。q.field("id").equal(new ObjectId(id));

3.把对象加入json

    <1>.

  List<MediaUnionModel> list = query.asList();
  Map<String,Object> dataMap =new HashMap<>();
  dataMap.put("modelList",list);
  dataMap.put("pageCount",10);
 modelMap.addAttribute("json",StringUtils.toJson(dataMap));
 return "json"; 

   然后创建一个json页面,里面可以写入${json}

 4.rand.nextint()

   public int nextInt(int n)
  给定一个参数n,nextInt(n)将返回一个大于等于0小于n的随机数,即:0 <= nextInt(n) < n。

5.java运行时多态

  Employee e; e.getDatils();  具体的结果就决定于运行时刻变量 e 所指向的对象的类型。而不是编译时刻的类型。这就是对外一个接口,内部多种实现,多态的本质含义。

  联编:讲一个方法调用和一个方法体连接到一起,就称为联编。若在程序运行之前就执行联编操作,称为“早联编”,在运行时刻执行联编就是晚联编。c语言的编译器值执行早联编。

  在晚联编中,必须提供一些机制在程序运行期间根据对象的具体类型进行的,并进一步调用适当的方法。也即是说,在晚联编时此时编译器依然不知道对象的类型,但在运行的时刻的方法调用机制能够自己找到正确的方法。

  在java中,除了定义为final的方法,其余所有的方法都采用晚编联的技术。

  使用final时,一方面可以防止子类中对该方法的重写,另一方面,也可以有效的阻止晚编联。

6.把MediaUnionModel的类传递

  参数是MediaUnionModel.class.

 private int getModelPageCount(Class clazz,int step,String category){
        Query query = datastore.createQuery(clazz);
        query.field("category").equal(category);
        return (int)Math.ceil(query.countAll()/(float)step);
    }

 7.关于mongodb的一些操作

Query<WeiboMediaModel> q = datastore.createQuery(WeiboMediaModel.class);
                q.field("id").equal(new ObjectId(id));
                List<WeiboMediaModel> list = q.asList();
                if(list.size() != 0){
                    WeiboMediaModel weiboMediaModel = list.get(0);
                    modelMap.addAttribute("weiboId", weiboMediaModel.getWeiboId());
}

 8.关于returnMap的应用

 modelMap.addAttribute("json",StringUtils.toJson(new ReturnMap(searchUnionMedia(MediaUnionModel.class, keyword, page, step, category))));

  private  HashMap searchUnionMedia(Class clazz,String keyword, int page, int step, String category){
        keyword = ".*" + keyword +".*";
        Pattern pattern = Pattern.compile(keyword);
        Query<T> query = datastore.createQuery(clazz).filter("name", pattern).offset((page - 1) * step).limit(step);
        if(category != null){
            category = category.trim();
            if(category.length()>0) {
                query.field("category").equal(category);
            }
        }
        HashMap<String,Object> data = new HashMap<>();
        data.put("total", datastore.getCount(query));
        data.put("step", step);
        data.put("list", query.asList());
        return data;
    }

 9. datastore.save(cpModel);

  关于保存数据。

10.  MediaUnionModel mediaUnionModel = datastore.get(MediaUnionModel.class, new ObjectId(id));

   通过id得到数据

原文地址:https://www.cnblogs.com/qianxinxu/p/5615026.html