java sundry tips

1.关于Arrays 
记得binarySearch方法返回的int 类型的数值的含义。 
   If the array contains multiple elements with the specified value, there is no guarantee which one will be found. 
   而且当查找数小于数组中任何一个数时返回-1 ,当查找数大于数组中任何一个数时返回 -(array.length+1) 

System.out.println(Arrays **) 
如果参数类型是char[],那么输出是由数组元素组成的字符串,如果是其他类型的数组,则是随机字符串。

 

2.static方法调用

下面这个非常简单,但是很多有经验的Java开发者都会中招。闲话少说,看代码:

NullTest myNullTest = null;
System.out.println(myNullTest.getInt());

当看到这段代码时,很多人会以为会出现NullPointerException。果真如此吗?看看其余代码再说:

class NullTest {public static int getInt() {return 1;}
}

永远记住,类变量和类方法的使用,仅仅依赖引用的类型。即使引用为null,仍然可以调用。从良好实践的角度来看,明智的做法是使用NullTest.getInt()来代替myNullTest.getInt(),但鬼知道什么时候会碰上这样的代码。

转载于:https://www.cnblogs.com/tianlanliao/p/4065526.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++常见的10个类对象问题

文章目录1、对象的浅复制2、构造函数中的操作符重载3、拷贝构造函数不能模板化4、析构函数未捕获异常导致coredump5、构造函数抛出异常6、基类析构函数非虚导致内存泄漏7、删除void*指针引发内存泄露8、成员函数尾部缺失const9、使用memset初始化class10、对象向下转换失败1、对…

Ubuntu 14.10 -- 异次元软件世界

Ubuntu 14.10 中文桌面版/服务器正式版下载 - 华丽免费易于入门的 Linux 操作系统 [ 系统工具 - Linux // 2014-10-25 ]一说到 Linux,就不得不提目前最红火的 Ubuntu 发行版了!它拥有绚丽的界面,甚至跟以时尚为卖点的 Mac OSX 相比也有过之而…

maven 概念

这里maven倡导约定优于配置,maven的约定就是以下目录结构src/main/java 下存放java类src/main/webapp 下存放页面文件(需要手动创建)src/main/resources 下存放资源文件src/test/java 下存放单元测试代码src/test/resources 下存放测试资源文件 Maven运行的生命周期…

System Design笔记:在线售票系统设计

文章目录何为在线售票系统?系统目标和要求1、功能要求2、非功能性需求3、设计注意事项4、容量估算5、系统API1.SearchMovies2.ReserveSeats6、数据库设计7、高级设计8、细节模块设计9、流程服务器如何跟踪所有尚未预订的active预订?服务器如何跟踪所有等…

Response.Write具体介绍

问题一&#xff1a; Response.Write 后连接Response.Redirect &#xff0c;则Response.Write无法显示&#xff0c;直接跳转入Response.Redirect 的页面。 解决方案&#xff1a; Response.Write("<script langugejavascript>alert(成功改动); window.location.hrefin…

SharePoint通过IP地址访问

问题&#xff1a;SP站点通过计算机名称可以访问&#xff0c;但不能通过IP地址访问 解决方案&#xff1a;打开SharePoint2010管理中心》应用程序管理》配置备用访问映射》编辑公用 URL 备用访问映射集&#xff1a;选择要映射的网站集 默认:http://计算机名 Intranet &#xff1a…

公有云与私有云的差别(转)

公有云与私有云的差别 发现每一个公司对私有云、公有云的定义都不一样&#xff0c;能够从公有云与私有云的差别上理解这个概念。下面转载网络上一个比較浅显的解释&#xff1a; 差别1&#xff1a;从云的建设地点划分&#xff0c;公有云——互联网上公布的云计算服务&#xff1b…

流媒体协议初探(MPEG2-TS、RTSP、RTP、RTCP、SDP、RTMP、HLS、HDS、HSS、MPEG-DASH)

目录一、综述需求分析协议定制二、MPEG2-TS协议三、RTSP协议、RTP、RTCP、SDPRTSPRTP、RTCP、SDP四、RTMP五、HLS、HDS、HSSHLSHDS和HSS六、MPEG-DASH协议具体内容应用七、流媒体服务器流媒体服务器的功能与挑战客户端支持协议支持应用场景应用特点扩展技术广告投放录屏其他一、…

eclipse偶尔会反映迟钝,直接无视其报错

比如&#xff0c;你在web.xml中配置了什么东西&#xff0c;在有的时候不一定就会立即被eclipse察觉到&#xff0c;即便你的配置正确了&#xff0c;甚至重启了几次服务器&#xff0c;它仍然给你报错 比如说&#xff0c;刚才我在web.xml中配置了一个taglib&#xff0c;并且tld文件…

Qos(Quality of Service)

QOS&#xff08;即Quality of Service&#xff0c;服务质量&#xff09;主要指网络环境下服务满足用户的程度&#xff0c;在视频服务的语境下也可认为是Quality of Streaming&#xff0c;即流媒体服务的质量。通常&#xff0c;QOS可以由一系列指标表达&#xff0c;如传输的速度…

Popline:帅气的浮动 HTML5 文本编辑器工具栏

Popline 是一个基于 HTML5 实现的富文本编辑器工具栏&#xff0c;设计灵感来自 PopClip &#xff0c;相比传统的文本编辑器工具&#xff0c;Popline 能够浮动在编辑的文本周围&#xff0c;操作起来十分方便。 您可能感兴趣的相关文章Metronic – 基于 Bootstrap 响应式后台管理…

C#反射Assembly 具体说明

1、对C#反射机制的理解 2、概念理解后&#xff0c;必须找到方法去完毕&#xff0c;给出管理的主要语法 3、终于给出有用的样例&#xff0c;反射出来dll中的方法 反射是一个程序集发现及执行的过程&#xff0c;通过反射能够得到*.exe或*.dll等程序集内部的信息。使用反射能够看到…

流媒体技术优化

文章目录1、下载策略优化CDN选择策略错误处理策略码率选择策略2、协议和架构优化HTTP2TCP变种拥塞控制QUIC架构流媒体协议的选择与分发体系架构的设计对优化起着关键作用。 HLS和DASH协议在点播和OTT直播服务中已逐渐占据主流&#xff0c;其思想主要是将视频转为不同码率并切为…

Android——android必看 各个控件属性(网上看到的文字,觉得挺好的,珍藏了)...

属性 值 说明 Android:orientation horizontal/vertical 设置布局水平还是垂直&#xff0c;默认是垂直 android:checked true/false 标记默认选中&#xff0c;如果是单选则选中最后一个 android:layout_gravity center/right/left/bottom/top 位置 android:gravity…

java中接口的定义与实现

1、定义接口 使用interface来定义一个接口。接口定义同类的定义类似&#xff0c;也是分为接口的声明和接口体&#xff0c;当中接口体由常量定义和方法定义两部分组成。定义接口的基本格式例如以下&#xff1a; [修饰符] interface 接口名 [extends 父接口名列表]{ [public] …

API设计笔记:pimpl技巧

pimpl pointer to implementation&#xff1a;指向实现的指针&#xff0c;使用该技巧可以避免在头文件暴露私有细节&#xff0c;可以促进API接口和实现保持完全分离。 Pimpl可以将类的数据成员定义为指向某个已经声明过的类型的指针&#xff0c;这里的类型仅仅作为名字引入&am…

C++必读书

C必读书 《Inside The C Object Model》 《Effective C》和《More Effective C》以及《Exceptional C》 《C面向对象高效编程(C Effective Object-Oriented Software Construction)》 《面向对象软件构造(Object-Oriented Software Construction)》 《设计模式(Design Patterns…

python socket编程实现的简单tcp迭代server

与c/c socket编程对照见http://blog.csdn.net/aspnet_lyc/article/details/38946915 server&#xff1a; import socketPORT 9999 BACKLOG 5 MAXLINE 1024listenfd socket.socket(socket.AF_INET,socket.SOCK_STREAM) listenfd.bind((,PORT)) listenfd.listen(BACKLOG)w…

API设计笔记:抽象基类、工厂方法、扩展工厂

文章目录抽象基类、工厂方法扩展工厂抽象基类、工厂方法 renderer.h #ifndef UNTITLED_RENDERER_H #define UNTITLED_RENDERER_H#include <string> class IRenderer { public:virtual ~IRenderer() {}virtual bool func1(const std::string& filename) 0;virtual …

《设计模式》-责任链模式

责任链模式是一种对象的行为模式【GOF95】。在责任链模式里&#xff0c;很多对象由每一个对象对其下家的用而链起来形成一条链&#xff0c;请求在这个链上传递&#xff0c;直到链上的某一个对象决定处理此请求。 发出请求的客户端并不知道链上的哪一个对象终处理这个请求&#…