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得到数据