在oracle 中使用 select 字段 into 变量 from 表 where 条件 这种方法给变量赋值时和MSSQL的行为有比较大区别. 在MSSQL中如果在该表中未检索到任何行,则变量的值保持不变,如果检索到多条数据,则会将每一条数据的值依次赋给变量(顺序不保证永远相同) .但是在oracle中,只有取到唯一行的时候才会赋值成功,其它情况都会抛出一个异常.在MSSQL中利用对变量重复赋值可以产生一次非常巧妙的应用,还是非常好的功能.具体两种机制的好坏就不做出评价了. 如果某些情况下我们
什么叫做协变(covariance)和逆变(contravariance)? 在变成语言的类型框架中,协变和逆变是指宽类型和窄类型在某种情况下(如参数,泛型,返回值)替换或交换的特性,简单的说,协变是用一个窄类型替换宽类型,而逆变则是用宽类型覆盖窄类型. 协变:宽类型------>窄类型 逆变:窄类型------>宽类型 class Base{ public Number doStuff(){ return 0; } } class Sub extends Base{ @Override pu