今天在项目中碰到一个诡异的空指针异常的问题,刚开始很不解,明明自己做了空判断,为什么还是出现了空指针呢? 最后排查出来的原因是:三目运算符的自动类型匹配机制. 现场 java.lang.NullPointerException: null 项目日志中突然出现NPE,这可是个禁忌,赶紧查代码: ro.setStandardLevelId(positionByCode == null ? -1L : positionByCode.getStandardLevelId()); 诶,这行代码怎么会报错?…
今天看到两个面试题,居然都做错了.通过这两个面试题,也加深对三目运算是的自动类型转换的理解. 题目1.以下代码输出结果是(). public class Test { public static void main(String[] args) { int a=5; System.out.println("value is :"+((a<5)?10.9:9)); } } A.编译错误     B.10.9           C.9           D.以上答案都不对 我不假…
算数运算符: Py2中精确除法需要导入:from __future__ import division,(符由特  ,将来的.滴未省,除法) py3不需要导入 赋值运算符: 比较运算符: 成员运算符: 逻辑运算符(布尔运算符): 身份运算符: 内存的读写速度比硬盘要快,3.0里面二进制和字符型必须严格区分 人的痛苦都是对自己无能的愤怒,python一行最多输80个字符 多线程可以并行运算 单线程串行执行 位运算符: 六个标准的数据类型: 一般字符串执行一个功能,生成一个新的内容,原来内容不变,只…
ng-class文档:https://docs.angularjs.org/api/ng/directive/ngClass 但是在实际项目中可能会用到三目运算,实例如下: <ul> <li ng-repeat="chat in chats" ng-class="$index==0?'yea':'no'"> {{chat.name}} </li> </ul> .yea{color:yellowgreen;} .no{c…
前言:前几天写代码的时候遇到一个问题,有一个按钮,有"已关注"和"+关注"两种状态,需要对这两种状态的按钮的背景颜色进行区分,单后点击"已关注"按钮状态变成"+关注",相反,点击"+关注"按钮变成"已关注"相应的背景颜色都需要发生改变. 点击事件里面改变按钮的背景颜色: angular.element(path).css('background', 'blue');//改变按钮的背景颜色…
Set 集合 set - unordered collections of unique elements 创建一个set/一个空set # create a new set set1 = {1,2,3} print(type(set1)) # result => <class 'set> set2 = set() print(type(set2)) # create an empty set, result => <class 'set'> # as the obje…
一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返回值,返回值默认为None def func_name(): pass return True def func_name(): myString = 'this is to test how to return' return mySting 5. 参数 形式参数 定义函数时出现的参数,称之为形式…
一.三目运算的使用 就像c语言中有三目运算符一样,python中也有三目运算符,废话不多说直接上代码 a=3 c=4 b=a if a>c else c print(b) 意思就和 if a>c: b=a else: b=c 是一样的. 二.bytes类型转str类型 在python中视频和音频的传递是二进制的,所以就需要用到str类型和bytes类型之间的转换. 不像在Python2中的两种类型傻傻分不清楚,在python3中两种类型各自独立没有关联,并不能自身就给其转换,必须手动的调用函数…
三目运算:and/or 技巧 and, or 联合起来有个小技巧: print 2 < 3 and True or False 说明:     如果  2 小于 3 了,则输出 True ,  否则输出 False 代码示例: In [1]: var = 2 < 3 and True or False In [2]: print var In [3]: print 3 != 3 and 'OK' or 'Failure' 说明 and 前是判定条件,or 前后分别是判定正确和错误的返回值. 注…
三 目运算:如var a = 10: var b= 12: c = a>b ?a:b; 若成立执行a否则执行b var isHide = true; 若用if判断语句如下 if(isHide) { box.style.display = "block"; } else { box.style.display = "none"; } 三目运算替代if box.style.display = isHide?"block":"none&…