0.对象的生命周期
boolean offerInSearchWeb = false; //变量定义在不得不声明定义的时候才声明
List<String> offerIdList = offerIds;
if (offerIdList != null) {// p4p中u30340 offer
。。。。。。
}
if (offerInp4p) {
return map;
} else {
。。。。。。
offerInSearchWeb = true; //offerInSearchWeb 只在这里使用,声明可以放到这里,
break;
}
1.异常
public interface CreditService {
public boolean getCreditFlag(String memberId) throws Exception;
}
实现类
。。。。。。
@Override
public boolean getCreditFlag(String memberId) throws Exception{
。。。。。。
try {
。。。。。。
} catch (JSONException jsonException) {
logger.error("Not valid ", jsonException);
throw jsonException;
}
在接口定义中要指定抛出的具体的异常,如果为了让上级调用统一处理就应该向上转型转化为Exception。
public interface CreditService {
public boolean getCreditFlag(String memberId) throws jsonException;
}
抛出的异常没有详细指定抛出的具体异常类型
try {
String urlEncodeCn = URLEncoder.encode(url, "GBK");
return urlEncodeCn;
} catch (Exception e) {
return url;
}
不正确的使用方法:
如果是抛出异常的话
logger.error(e.getMessage());
logger.error("parse mlr categoryInfo error" + e.getMessage());
logger.error("process file fail:" + srcFile, e);
正确的使用方法:
logger.error("getOfferInfoFromBOPS - generate secureKey got exception for " + e.getMessage(), e);
2.内部类
静态内部类
Collections.sort(attributeValueList, new AttriValueComparator());
。。。。。。
private static class AttriValueComparator implements Comparator<Object>,Serializable {
private static final long serialVersionUID = 1L;
@Override
public int compare(Object attriValue1, Object attriValue2) {
。。。。。。
}
}
如果该静态类只调用一次,却只集成一个接口,可以写成 可以使代码更清晰紧凑
Collections.sort(attributeValueList, new Comparator<Object>() {
private static final long serialVersionUID = 1L;
@Override
public int compare(Object attriValue1, Object attriValue2) {
。。。。。。
}
});
3.集合类使用和泛型使用
3.1
List<Sattribute> temp = new ArrayList<Sattribute>();
for(int i = 0;i < temp.size(); i++){
Sattribute attri = new Sattribute();
attri.setId(((Sattribute)temp.get(i)).getId()); //不需要强制转换了
不需要用到编号的时候用下面这种循环,更简洁,性能更好//1、代码上更加简洁。//2、不用考虑边界。//3、不用显示转换类型,定义的时候已经处理。
for(Sattribute sa: temp){
Sattribute attri = new Sattribute();
attri.setId(sa.getId());
}
3.2
for (Iterator itor = offerMolelList.iterator(); itor.hasNext();) { /指定Iterator的类型
OfferModel offerModel = (OfferModel) itor.next();
改为
for (Iterator<OfferModel> itor = offerMolelList.iterator(); itor.hasNext();) { /指定Iterator的类型
OfferModel offerModel = itor.next();
3.3
从list删除另外一个list的所有元素,不要重复劳动
private List<String> getP4pNotBuyWords(List<String> suggestWordsList,List<String> buyedWordsList) {
改为直接使用list的方法
removeAll
4.IO
InputStream is = httpUrlConn.getInputStream();
br = new BufferedReader(new InputStreamReader(is)); //指定编码,不要用系统默认编码
分享到:
相关推荐
Java编程技巧典型案例解析 在Java编程领域,掌握高效、实用的编程技巧对于提升代码质量、优化性能以及提高开发效率至关重要。本资料集旨在通过一系列典型示例,深入剖析Java编程中的常见问题及其解决策略,帮助...
JAVA编程技巧完美版 李万鸿 JAVA语言博大精深,编java程序需要技巧,尤其是SSH2架构的项目,需要高超的编程艺术和深广的智慧。编程和调试需要全面考虑问题,要从系统的各个方面进行考虑,多角度分析问题,这样才能...
《Java编程技巧典型案例解析》一书聚焦于这些关键技巧,通过24个精心挑选的源代码案例,深入浅出地展示了Java编程中的精华所在。以下是根据标题、描述以及压缩包子文件的文件名称列表,提炼出的一些核心Java编程知识...
《Java并发编程实战》是一本深入探讨Java平台并发编程的权威指南。这本书旨在帮助开发者理解和掌握在Java环境中创建高效、可扩展且可靠的多线程应用程序的关键技术和实践。它涵盖了从基本概念到高级主题的广泛内容,...
这本书旨在提升程序员在电脑编程技巧与维护方面的专业能力,特别是针对Java这门广泛应用于企业级开发、互联网应用以及移动应用开发的强大语言。 Java作为一款面向对象的编程语言,以其跨平台、高效、安全的特性深受...
新手学Java7编程(第5版)由程序设计畅销书作者herbertschildt撰写,将内容彻底更新至javase 7。首先从基础讲起,介绍了如何编译和运行java程序,然后讨论了... 代码注释:示例代码中的注释描述了正在阐述的编程技巧
《Java并发编程实战》是一本深入探讨Java平台并发编程的权威指南,由Tim ...在多核处理器的时代,掌握并发编程技巧是每个Java开发者的必备能力,而《Java并发编程实战》无疑为此提供了一个全面而深入的学习资源。
Java编程技巧典型案例解析:7-900181-97-0.iso 随书光盘,欢迎大家下载
根据提供的信息,“Java 并发编程实战.pdf”这本书聚焦于Java并发编程的实践与应用,旨在帮助读者深入了解并掌握Java中的多线程技术及其在实际项目中的应用技巧。虽然部分内容未能提供具体章节或实例,但从标题及...
它不仅涵盖了网络编程的基础知识,也深入到高级特性和实践技巧,对于想要提升网络编程能力的Java程序员来说,是一本不可多得的参考书。通过阅读和实践书中的例子,读者不仅可以掌握理论知识,还能积累实际开发经验,...
本书主要面向初学者,旨在帮助读者快速掌握Java 8的基础知识和编程技巧,并能够运用这些知识进行实际开发工作。 #### 二、Java 8简介 Java 8是Java平台的一个重要版本,它于2014年3月发布。相比之前的版本,Java 8...
通过阅读《Java并发编程的艺术》这本书,开发者不仅可以掌握Java并发编程的基础知识,还能了解到一些高级特性和技巧,从而在实际开发中游刃有余。同时,附带的源码将有助于加深理解,提供实际操作的机会。
《Java经典编程300例》是一本深受Java开发者喜爱的实战型教程,它通过300个精心挑选的编程实例,深入浅出地讲解了Java语言的核心概念、语法特性和编程技巧。这本书旨在帮助读者从实践中掌握Java编程,提升编程能力,...
Java编程技巧,学习Java必备的资料!
本书不仅适合已经有一定Java编程经验的开发人员阅读,也适用于希望深入了解并发编程基础的新手。它从最基本的并发概念讲起,如进程与线程的区别、线程生命周期、线程调度策略等,并逐步深入到锁机制、死锁避免、原子...
通过阅读这些书籍,开发者可以深入理解Java并发编程的底层机制,掌握有效的并发编程技巧,提高程序的运行效率,同时避免并发编程中常见的陷阱和问题。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。
Java网络编程是开发分布式应用程序的关键技术,它使得Java程序能够与其他设备、系统和服务进行通信。...读者可以通过运行这些例子,亲身体验网络编程的过程,从而更好地掌握Java网络编程的技巧和最佳实践。
通过这些内容的学习,读者可以掌握高效并发编程技巧,减少线程间的交互,提高程序的并行度。 Java内存模型(JMM)是并发编程中的核心概念,书中会详细解析其工作原理,包括volatile、final关键字的作用,以及 ...
在Java编程领域,数据库编程是不可或缺的一部分,尤其是在开发企业级应用时。本资源"JAVA数据库编程技巧.rar"可能包含了关于如何高效、灵活地在Java环境中与数据库进行交互的指南和实例。下面我们将深入探讨Java...
教程中提到了Java 3D编程的入门,这说明即使读者没有三维图形或Java 3D的知识背景,也可以从本教程中学习,但若拥有Java编程语言的基本理解会更有帮助。在三维编程方面,编程可能因为涉及大量专业术语和数学内容而...