首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

千万别踩,JDK的5个坑,否则别说你不知道

JDK 的很多方法都不会做非 null 判断,可能设计 JDK 的作者默认开发者已经处理好null值了。不过这个设计可能会造成很严重的后果,实在是暗藏杀机。...而要修补退款这个问题,要耗费很多时间去修补,出错的成本太高,本期我们就来看看 JDK 那些坑你没商量的方法,这些方法很常见,相信你一定遇到过。...return resultList; } 这样会抛出错误,主要问题在于Collections.emptyList()并非我们平时看到的List,此list不支持add、remove方法,否则会抛出...在实际开发,面对JDK一定要谨慎使用,JDK提供了便利的同时,也有一些我们使用上的盲区,应该养成多看源码,多注意错误性处理,防止在小问题上栽大跟头。...: 正确的姿势: 7.3.String的split方法在进行||分割的时候需要进行转义,否则结果会有问题 参考:http://ii081.cn/drl9e

47950

RxJava2 实战知识梳理(3) - 优化搜索联想功能

mTvSearch = (TextView) findViewById(R.id.tv_search_result); mEtSearch.addTextChangedListener(new TextWatcher...二、示例解析 下面,我们就来详细的介绍一下这个例子应用到的三种操作符: 2.1 debounce debounce的原理图如下所示: ?...debounce原理类似于我们在收到请求之后,发送一个延时消息给下游,如果在这段延时时间内没有收到新的请求,那么下游就会收到该消息;而如果在这段延时时间内收到来新的请求,那么就会取消之前的消息,并重新发送一个新的延时消息...而如果在这段时间内,上游发送了onComplete消息,那么即使没有到达需要等待的时间,下游也会立刻收到该消息。 2.2 filter filter的原理图如下所示: ?...filter的原理很简单,就是传入一个Predicate函数,其参数为上游发送的事件,只有该函数返回true时,才会将事件发送给下游,否则就丢弃该事件。 2.3 switchMap ?

44210

RxJava2 实战知识梳理(3) - 优化搜索联想功能

mTvSearch = (TextView) findViewById(R.id.tv_search_result); mEtSearch.addTextChangedListener(new TextWatcher...) { super.onDestroy(); mCompositeDisposable.clear(); } } 示例解析 下面,我们就来详细的介绍一下这个例子应用到的三种操作符...debounce原理类似于我们在收到请求之后,发送一个延时消息给下游,如果在这段延时时间内没有收到新的请求,那么下游就会收到该消息;而如果在这段延时时间内收到来新的请求,那么就会取消之前的消息,并重新发送一个新的延时消息...而如果在这段时间内,上游发送了onComplete消息,那么即使没有到达需要等待的时间,下游也会立刻收到该消息。 2.2 filter filter的原理图如下所示: ?...filter的原理很简单,就是传入一个Predicate函数,其参数为上游发送的事件,只有该函数返回true时,才会将事件发送给下游,否则就丢弃该事件。 2.3 switchMap ?

89870

Android开发笔记(一)

在真正去开发一个独立的APP的过程,我渐渐意识到将一些功能单独写成函数,一方面可以减少OnCreate()的代码量,一方面在某一功能出现问题时可以折叠其他功能。...整体说来将功能函数化可以方便修改和阅读,因此在那之后许多代码我都进行了修改,比如对于获取TextView的输入这个例子: username.addTextChangedListener(new TextWatcher...); } TextWatcher textwatcher = new TextWatcher() { @Override public void beforeTextChanged...string.xml文件中进行了定义(便于国际化),setIcon则是用来放图标,NegativeButton和PositiveButton你可以只当作两个按钮来用,根据你设置的它们显示的文字分别在OnClick配置对应的功能即可...在AndroidManifest.xml文件,“android:theme” 一栏,将对应的内容替换为:android:theme="@style/Theme.AppCompat.NoActionBar

28630

android textwatcher 获取当前控件,android api解析之TextWatcher

开发android有几年了,但是从来没有整理过,一直是写写写.从今天起开始慢慢整理,总结之处如有错误请指出,谢谢 TextWatcher在什么时候会被调用?...TextWatcher在edittext内容发生变化时会被调用 TextWatcher一共有三个方法 beforeTextChanged(CharSequence s, int start, int count...代表开始变化的位置,before代表变化前该位置字符数量,count代表变化了的字符长度 afterTextChanged(Editable s) 在文本变化后调用,s即为变化后的文本结果 例子: 在空白输入框输入一个字符...setTextWatcher() { TextWatcher textWatcher = new TextWatcher() { //记录是否为删除 boolean isDel = false...(s.length()) % 5 == 0) { //删除指定位置开区间[start,end) s.delete(s.length() -1,s.length()); } } }; return textWatcher

48620
领券