java编程常用技术(推荐)
一:将String字符串放在最前面
防止发生NullPointerException异常,我们通常把String字符串放在equals方法的左边来比较,这样可以有效的避免
空指针异常的发生。
第一种情况,如果variable为Null,则会发生空指针异常情况;第二种情况即使variable为Null,也不会发生空指针异常,而且不会丢失任何数据。所以建议
大家编程时把直接量放在左边。
二:不要相信早期的JDK API
在早期编程中,JDK API还不是很成熟,例如下面代码块:
File file=new File("..."),file封装了一个目录或者文件,调用list()方法,如果是目录,则返回字符串数组;如果不是,则返回null;
所以我们可以提前添加一些校验,如以下代码所示:
三:不要相信-1
在javadoc中明确规定String.indexOf()如果返回值为-1,则表示该字符在字符串中不存在;或者当我们使用IO流读取文件时,也定义为-1
时读取完毕。如下代码:
目前看来这种方式很凑效,但是如果java改变了编码方式,定义返回-2为更好的方式呢,所以建议使用第二种。
四:避免意外赋值
如下代码:
第一种情况:将==号写成=,就会意外将5赋值为变量;第二种情况:不会发生意外赋值的情况;
第三种情况:===是JavaScript中全等符号,类型相同,值也相等。
五:检查Null和Length
无论如何,只要你有一个集合或者数组,首先要确保它存在,并且不为空。
代码如下:
第二种方式更好,避免了早期版本JDK API 的错误。
六:所有的方法都是final的
避免子类继承父类的所有方法。
以上这篇java编程常用技术(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java Web编程之Servlet技术详解
Java Web编程之Servlet技术,知多少? 1.Servlet基础 针对Servlet技术开发,Sun公司提供了一些列接口和类,其中最重要的是javax.servlet.Servlet接口,两个重要的包是javax.servlet和javax.servlet.http,Servlet就是一种实现了Servlet接口的类,它由Web容器(Tomcat/Jetty等)负责调用并创建,用于接收和响应用户请求.Servlet接口中定义了5个抽象方法: Servlet顶层类结构如下所示: 2.第一
-
java编程常用技术(推荐)
一:将String字符串放在最前面 防止发生NullPointerException异常,我们通常把String字符串放在equals方法的左边来比较,这样可以有效的避免 空指针异常的发生. 第一种情况,如果variable为Null,则会发生空指针异常情况:第二种情况即使variable为Null,也不会发生空指针异常,而且不会丢失任何数据.所以建议 大家编程时把直接量放在左边. 二:不要相信早期的JDK API 在早期编程中,JDK API还不是很成熟,例如下面代码块: File file=
-
linux下socket编程常用头文件(推荐)
sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网络程序中常见的头文件 unistd.h:提供通用的文件.目录.程序及进程操作的函数 errno.h:提供错误号errno的定义,用于错误处理
-
Java编程synchronized与lock的区别【推荐】
前言 本文介绍了Java编程synchronized与lock的区别的相关内容,如果您对synchronized与lock不太了解,这两篇文章 或许是不错的选择: Java 同步锁(synchronized)详解及实例 Java多线程基础--Lock类 正文 从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock. 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题
-
总结十个实用但偏执的Java编程技术
前言 当在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的--任何事情有可能出错,没错,的确如此. 这就是为什么我们要采用"防御性编程",即一些偏执习惯的原因.下面是我个人认为的10个最有用但偏执的Java编程技术.一起来看一看吧: 一.将String字符串放在最前面 为了防止偶发性的NullPointerException 异常,我们通常将String放置在equals()函数的左边来实现字符串比较,如下代码: //
-
Java中常用的类型转换(推荐)
1.将字符串转换成整数(String--->int) 方法一: (1) int i = Integer.parseInt(String s); 其中(1)其实就是我们经常用到的将s转换为10进制得数,其实默认是调用了 int i =Integer.parseInt("123",10); (2) i = Integer.parseInt(String s,int radix); radix的范围是在2~36之间,超出范围会抛异常.其中s的长度也不能超出7,否则也会抛异常. 方法二:
-
Java编程实现基于用户的协同过滤推荐算法代码示例
协同过滤简单来说是利用某兴趣相投.拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要. 协同过滤又可分为评比(rating)或者群体过滤(social filtering)协同过滤以其出色的速度和健壮性,在全球互联网领域炙手可热 UserCF的核心思想即为根据用户数据模拟向量相似度,我们根据这个相似度,来找出指定用户的相似用户,然后将相似用
-
Java面试Socket编程常用参数设置源码问题分析
目录 引导语 1.Socket整体结构 2.初始化 3.connect连接服务端 4.Socket常用设置参数 4.1.setTcpNoDelay 4.2.setSoLinger 4.3.setOOBInline 4.4.setSoTimeout 4.5.setSendBufferSize 4.6.setReceiveBufferSize 4.7.setKeepAlive 4.8.setReuseAddress 5.总结 引导语 Socket 中文翻译叫套接字,可能很多工作四五年的同学都没有用过
-
整理Java编程中字符串的常用操作方法
字符 一般情况下,当我们处理字符时,我们用原始数据类型 char. 示例 char ch = 'a'; // Unicode for uppercase Greek omega character char uniChar = '\u039A'; // an array of chars char[] charArray ={ 'a', 'b', 'c', 'd', 'e' }; 然而在开发中,我们会遇到需要使用对象而不是原始数据类型的情况.为了达到这个需求.Java 为原始数据类型 char
-
Java编程异常处理最佳实践【推荐】
Java中的异常处理不是一个简单的话题.初学者很难理解,甚至有经验的开发人员也会花几个小时来讨论应该如何抛出或处理这些异常.这就是为什么大多数开发团队都有自己的异常处理的规则和方法.如果你是一个团队的新手,你可能会惊讶于这些方法与你之前使用过的那些方法有多么不同.常见的异常类型: NullPointerException -空指针引用异常 ClassCastException-类型强制转换异常 lllegalArgumentException-传递非法参数异常 ArithmeticExcepti
-
Java中常用的数据库连接池_动力节点Java学院整理
定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问题提出来的. 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏.这项技术能明显提高对数据库操作的性能. 参考资料 DBCP 下载地址:http://
随机推荐
- 关于Mongodb 认证鉴权你需要知道的一些事
- Android中RecyclerView拖拽、侧删功能的实现代码
- iOS 检测文本中的URL、电话号码等信息
- 如何阻止网站被恶意反向代理访问(防网站镜像)
- 2014年最新推荐的10款 PHP 开发框架
- php连接oracle数据库及查询数据的方法
- 总结安卓(Android)中常用的跳转工具
- php session安全问题分析
- Ajax请求WebService跨域问题的解决方案
- Lua实现正序和倒序的文件读取方法
- mdir.vbs 建立隐藏虚拟目录的vbs
- 远程linux xshell下输出中文乱码解决方法
- 微信小程序 scroll-view实现上拉加载与下拉刷新的实例
- JavaScript正则表达式的贪婪匹配和非贪婪匹配
- 加强php的安全之一
- 2007-2008购买网站应注意的几个问题小结
- C++设计模式之解释器模式
- VC中SendMessage和PostMessage的区别
- Java集合List与Array的相互转换
- C语言二维数组的处理实例