kotlin 数字操作符运算结果不对的问题
1234567891011121314151617data class M(val int: Int?)@Testfun test() { val m1 = M(0) val m2 = M(1) val m3 = M(0) val i = (m1.int ?: 0) + (m2.int ?: 0) + (m3.int ?: 0) val j = (m1.int ?: 0) +(m2.int ?: 0) +(m3.int ?: 0) println(i) println(j)}
打印结果i j分别是1和0,百思不得骑姐。后来发现kotlin是将val j = (m1.int?:0)当做一行,直接将m1.int赋值给了j+(m2.int?:0)和(m3?:int?:0)当做另起一行了。
你要是++(int)当做一行还能理解,+(int)居然不报错是为啥。。谁加谁啊以后碰到运算j这种情况,在最外面多加个括号吧
错误[ObjectBox] Relation target class 'Long' defined in class 'LocalMessage' could not be foun...
使用ObjectBox时遇到的迷之问题,看到这个提示,怎么检查那个类都是加了@Entity注解的。发生原因是:类里定义了ObjectBox不能理解的字段,比如var atIds: MutableList<Long> = mutableListOf(),要写个转换类加上去
1234567891011121314151617181920212223242526272829303132data class DataX( @Convert(converter = LongList2StringConverter::class, dbType = String::class) var atIds: MutableList<Long> = mutableListOf())class LongList2StringConverter : PropertyConverter<MutableList<Long>, String> { override fun convertToDatabaseValue(entityProper ...
后端返回json相同字段,类型不同的处理方式(retrofit+gson)
方法有很多,你可以自己拿responseBody里的json,一个个字段自己解析;也可以给okhttp添加拦截器来处理response内容。这里提供一种简便的方法。
Gson在反序列化的时候,默认是将{}转成LinkedTreeMap,[] 转成ArrayList,value是数字的全部定义为了double。 如果后端返回格式不规矩或者会变化的时候,将bean里定义的是Any或*即可
比如有时返回的是这样有时是这样可以看到event虽然都是个数组,可里面的内容完全就不一样,于是我就定义俩个data class,分别为ZulipMessage和DelMsgEventDTO
123data class ZulipEventDTO( val events: List<LinkedTreeMap<String,Any>>)
event定义是一个集合,泛型就是Gson默认的LinkedTreeMap<String,Any>,这样不管是那种数据都可以接受到。并且存入map中。解析的时候,根据event.type的类型,解析成不同的类 ...
View的五个构造函数的区别
View(),没有暴露出来,等于没有,过过过1234567 /** * Non-public constructor for use in testing */View() { mResources = null; mRenderNode = RenderNode.create(getClass().getName(), this);}
View(Context context),当在代码中创建view时使用,传入一个上下文,使该View运行在其中,并且可以通过这个上下文获取主题、资源等。1234567/** * Simple constructor to use when creating a view from code. * * @param context The Context the view is running in, through which it can * access the current theme, resources, etc. */public View(Context context) ...
微信qq建群时,选中人与搜索框联动
12345678910111213141516171819202122<LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="40dp"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv_select_member" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <EditText android:id="@+id/et_search_member" android:hint=" ...
《半小时漫画经济学-经济危机篇》读书笔记
经济的定义:价值的创造、转化、实现。大自然的水,经工厂消毒净化为矿泉水,卖给口渴的人。水实现了应有的价值。这就是资源配置。资源配置出现问题,经济时好时坏,就是经济周期。经济危机:产品太多。金融危机:钱太多。除了战争、天灾等特殊情况,经济危机都是金融危机引起的。
#####美国大萧条1929年,美股崩盘,大萧条席卷世界。二战开打,军工业发达,美国国内失业解决,同时获取大量财富。#####亚洲金融危机97年香港回归后,98年索罗斯搞垮英国英格兰银行、泰国、马来西亚后将眼睛瞄向香港。见香港金融保卫战。#####美国次贷危机08年,雷曼银行破产,其他公司也随之大裁员,失业潮形成,中产不能还房贷,房子被银行收走,中产变破产。
###金融不稳定假说,明斯基时刻
明斯基时刻 : 经济由好到坏的时刻
####对冲融资银行相信未来能还钱,从而借钱给你,叫信贷。拿着借的钱,买原材料、生产、销售,赚了钱连本带息还给银行。大家都赚钱,就叫经济增长。特点:能还上本金和利息,处在经济增长初期。
####投机融资银行发现多借钱就多赚钱,就降低借贷标准,这叫信贷扩张。特点:只还得起利息,处在经济增长中期。
庞氏 ...
香港金融保卫战
巫师财经视频观后总结。二战后,英法式微,德国分裂,美国崛起,欧洲为提升政治地位,建立欧共体(后来的欧盟),强调经济共同发展。欧元诞生前,制定欧洲汇率机制(ERM-The European Exchange Rage Mechanism)。
具体做法是将各国汇率与德国马克挂钩,大家一起升值一起贬值,交易不用考虑汇率影响,推动欧洲一体化经济。
但汇率一体化,就得利率一体化。否则英国利率10%,德国5%,大家都将钱换成英镑吃利息,就造成英镑升值,马克贬值。所以汇率同步必须利息同步。
89年柏林墙倒塌,德国统一,东德人大量涌入西德,政府财政赤字,开始印钱,加剧了通胀,通胀又是中央银行提高利率。德国被迫提高利率,而英国经济衰退,通胀紧缩,需要降低利率来刺激市场经济。
(大量印钱,通胀就是市场上钱多了,提高利率大家就会开始投资或者存起来吃利息,市场上的钱就收回来了)
但英国受迫ERM,必须与德国维持相同的高利率。根据三元悖论,货币政策独立、汇率稳定、资本完全流动。三者不可兼得。想要汇率稳定、资本自由,就不可能保持货币独立,那么英国必须退出欧盟。而一旦退出,被高估的英镑就会断崖式下跌。索罗斯开始 ...
《半小时漫画经济学-生活常识篇》读书笔记
人类历史就是一部经济史。历史上,没有哪一场仗是因为爱和正义,深层次的原因都是经济。美国独立战争:南方经济出口棉花,进口日用品,要求国家降税。北方工业怕国外抢生意,要求提税。
##经济起源采集狩猎—获得种子—发展农业—农业人口过剩,细化分工,产生工业。生活水平不断提高,就是经济发展。##货币起源以物易物,牛羊猪的肥瘦不好切割,选择贝壳。汉字与钱有关都是贝字旁,财购贼。矿业发展慢慢形成金银本位。随着经济发展,商品越来越多,就需要更多的货币,纸币电子货币出现。
#社保诞生十六七世纪,英国纺织业发达,贵族圈地养羊,农业人口降低,社会动荡,政府发布《济贫法》,工业革命席卷欧洲。俾斯麦统一德国,发展工业流水线,机器复杂伤亡率高,工人罢工。政府、工厂、工人各拿出一笔钱用于救济受伤工人。《医疗保险法》、《事故保险法》、《养老保险法》等颁布,现代社保雏形诞生。
增值税商品从原材料,到不断加工,到商业化,商品价值不断增加,中间环节每个个体都挣了钱,所以都要缴纳增值税。石油、烟酒、奢饰品等还要额外缴纳消费税,因为这些商品会造成浪费和增加社会成本。
关税保护国内企业,外国商品缴纳关税后为了维持利益就会提价,从 ...
retrofit提交文件时附带参数错误
如下图所示,uploadFile是文件,relationId、type这种是提交时附带的参数
1234567@Multipart@POST("api/common/upload/user/pic")suspend fun uploadAvatar( @Part("relationId") relationId :String, @Part("type") type :String, @Part uploadFile :MultipartBody.Part //此处part不能设置value,提交名称在下面设置):Response<BaseDTO<*>>
如果retrofit添加了.addConverterFactory(GsonConverterFactory.create()),提交时会当做json提交,如果直接在接口中定义@Part("relationId") relationId :String,contentType会是application-json,提交 ...
《穷爸爸富爸爸》读书记录
一、富人不为钱工作对多数人来说,学校就是学习的终点而不是起点。穷人和中产为钱工作,富人让钱为他工作。
生活推着所有人,有人抗争,有人放弃,少数人学会生活这门课,他们欢迎生活推着他们。停止责备、抱怨(政策、雇主等),不要认为是他们的问题,这样就会想改变他们(这是徒劳的),改变自己,让自己更聪明。
出于恐惧,害怕付不起账单,被解雇,为了获得保障,去学习技能,为钱工作,然后将怨气发泄到老板身上,感情替代了他们思考。
二、为什么要教授财务知识
21世纪的文盲不是那些不能读写的人,而是不能学习、忘记、再学习的人
富人购买资产,穷人购买负债,只是他们以为那是资产。
钱能进你口袋的是资产,从你口袋中掏钱的是负债。多数人认为解决负债的方法就是挣更多钱,然而工作是付出了劳动,被资本家剥削剩余价值,被政府抽税,被银行拿走房贷车贷后,才进口袋的收入途径。
三、关注自己的事业职业:学习技能,从事的工作,比如医生、律师、工程师。为别人工作。关注重心是收入。事业:为自己工作。关注重心是资产。存在财务问题的人,耗费一生为别人工作。将额外收入购买可产生收入的资产,才能获得财务安全。
多数穷人与中产的财务保守(无法承 ...