一:将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编程常用技术(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍Android编程实用技术小结,包括了Android编程实用技术小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了Android编程实用技术。分享给大家供大家参考,具体如下: 1、捕获开机事件,启动receiver 2、启动service,设置闹钟频率,定时发起网络请求,获得数据 补充:在程序中,可以多开启几个AlarmManager,他们之间毫无关联,可放心使用。 3、获
前端开发者常用的网络技术 前端开发者常用的网络技术如下: Hyper Text Markup Language(超文本标记语言, 又称 HTML) Cascading Style Sheets (层叠式样式表, 又称 CSS) Document Object Model (文档对象模型, 又称 DOM) JavaScript Programming Language (JavaScript编程语言
本节将讨论一些与工具条有关的编程技术,主要包括命令处理、命令更新、按钮风格和工具条的隐藏/显示等技术。 4.2.1命令处理 要使菜单和工具条执行命令,光为它们指定命令ID是不行的,必须为每个命令ID定义命令处理函数。如果不为命令定义命令处理函数或下面将要提到的命令更新处理函数,则框架将自动使该命令对应的菜单项和按钮禁止(灰化),这就是4.1节中的工具条按钮和菜单项灰化的原因。 利用ClassWiz
1.自我介绍 2.为什么以Java语言作为求职方向? 3.面对对象编程编程语言的三大特性 4.JDK中对封装、继承、多态的典型应用 5.ArrayList和LinkedList区别 6.List和Set区别 7.HashMap的数据结构 8.JDK8新特性 9.有没有关注过JDK最新版本的新特性,最新的版本是多少,有哪些LTS版本 10.线程创建的方式,都讲一下 11.有操作过文件吗,说一下流 1
主要是问项目里面的内容 1.怎么获得文本特征的 2.自监督解耦是怎么做的 3.做了什么消融实验 4.消融实验的效果是怎么样的 5.减少某一个函数loss对于整个计算速度有什么影响 八股的部分 1.后验证信息能不能在召回的时候去用?为什么? 2.召回和精排的区别? 3.主要是用什么指标在两个阶段?为什么? 代码题 二叉搜索树,代码写的一坨估计是噶了逆天
本文章将收录在专栏《手把手带你破解银行科技岗面试》,如果你对银行科技岗(研发中心、数据中心、软开中心、金融科技岗、科技人才岗)感兴趣,欢迎点击此处订阅本专栏。本专栏将手把手带你破解银行科技岗面试,学习本专栏至少可以让你知道: 我到底能报考哪些银行里的哪些机构? 我到底是否能达到这些岗位的招聘要求? 我到底如何提前准备这些岗位的招聘面试? 根据我的经验,目前国内大多数银行的后端研发岗的技术栈都是Ja