java android-如何读懂下面这段代码?

问题描述

如何读懂下面这段代码?

长辈朋友们,你们好。这段代码是用来生成请求码的,但是关于请求码是什么样子我就不清楚了。因为我看不懂这段代码。所以希望看到这个问题的长辈朋友能够帮帮我。
代码如下:
protected int makeRequestCode(int requestCode) {
if ((requestCode & 0xffffff00) != 0) {
throw new IllegalArgumentException("Can only use lower 8 bits for requestCode");
}
return ((index + 1) << 8) + (requestCode & 0xff);
}

    注:这里的index是一个成员变量。无需关心。

解决方案

0xffffff00代表 1111 1111 1111 1111 1111 1111 0000 0000
让requestCode 和 0xffffff00进行逻辑与操作,可以得到之前的24个bit位(因为1和,0或者1相与还是1),
如果这个数字不是0,那么说明前面的24个bit位必然存在非0的位
此时执行throw new IllegalArgumentException("Can only use lower 8 bits for requestCode");

解决方案二:

如何读懂别人的代码

时间: 2024-08-04 09:43:49

java android-如何读懂下面这段代码?的相关文章

独家 | 一文读懂TensorFlow(附代码、学习资料)

人工智能.机器学习和深度学习 在介绍TensorFlow(以下简称为TF)之前,我们首先了解一下相关背景. TF是一种机器学习框架,而机器学习经常和人工智能,深度学习联系在一起,那么三者到底是什么关系呢? 简单来讲三者可以理解为包含于被包含的关系.其中最大的是人工智能(以下简称为AI),AI最早起源于1956年的达特茅斯会议,当时AI的几位先驱在会上展示了最早的AI程序:Logic Theorist,能够自动推导数学原理第二章前52个定理中的38个,甚至其中一个定理的证明过程比书中给出的还要优雅

求救:请问如何把这段代码改为泛型

问题描述 .将下面的代码改成泛型:PublicclassSimple(intvalue){this._Value=value;}PrivateintSimple;PublicintSimple;{Return_Value;}小弟就要面试,各位老大给点帮助吧,小弟感激不尽!2 解决方案 解决方案二:没看懂你这段代码解决方案三:看不懂,不知道是什么意思!猜了下哈,LZ是不是要这样:publicclassSimple<T>{publicSimple(Tvalue){_value=value;}pri

读懂Android中的代码混淆

本文为本人的一些实践总结,介绍一些混淆的知识和注意事项.希望可以帮助大家更好的学习和使用代码混淆. 什么是混淆 关于混淆维基百科上该词条的解释为 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为. 代码混淆影响到的元素有 类名 变量名 方法名 包名 其他元素 混淆的目的 混淆的目的是为了加大反编译的成本,但是并不能彻底防止反编译. 如何开启混淆 通常我们需要找到项目路径下app目录下的build.gradle文件 找

对象-java 抽象类有段代码没看懂!!!帮忙解释下

问题描述 java 抽象类有段代码没看懂!!!帮忙解释下 自己看视频自学到网络编程,发现下边的代码看不懂,自己也百度了很多,还是没理解好抽象类 OutputStream os=Socket.getOutputSteam(); os.write("加油".getBytes()): 这段代码没看懂,OutputStream抽象类不能直接创建对象,也没有子类去实现,为什么可以直接调用write(byte[] b) 方法? 解决方案 不能创建对象的意思是不能通过new outputstream

一篇文章读懂 iOS 和 Android 的历史起源

智能手机虽说是移动电话,但我们完全可以将其作为小型化的电脑来思考.这样一来也能够显示出智能手机OS的高性能.我们首先一起来回顾下智能手机OS的历史. 其实在很早之前就已经有这样的想法,即在像智能手机这样可以便利携带的小型电脑终端上运行OS. OS的黎明期 大 约20年前左右,在美国的拉斯维加斯举办的世界最大的电脑相关产品展示会"COMDEX"上,日本索尼公司开发的当时称之为"MagicjLink"的携 带型信息终端吸引了很多的关注(图1).这款终端并不仅仅是一款用来

独家 | 一文读懂Hadoop(二)HDFS(上)

随着全球经济的不断发展,大数据时代早已悄悄到来,而Hadoop又是大数据环境的基础,想入门大数据行业首先需要了解Hadoop的知识.2017年年初apache发行了Hadoop3.0,也意味着一直有一群人在对Hadoop不断的做优化,不仅如此,各个Hadoop的商业版本也有好多公司正在使用,这也印证了它的商业价值. 读者可以通过阅读"一文读懂Hadoop"系列文章,对Hadoop技术有个全面的了解,它涵盖了Hadoop官网的所有知识点,并且通俗易懂,英文不好的读者完全可以通过阅读此篇文

读懂正则表达式就这么简单_正则表达式

一 前言 对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完全不知所云. 其实只是对正则不了解而以,了解了你就会发现,原来就这样啊正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就是组合起来之后,可读性比较差,而且不容易理解,本文旨在让大家对正则有一个基本的了解,能看得懂简单的正则表达式,写得出简单的正则表达式,用以满足日常开发中的需求即可. 0\d{2}-\d{8}|0\d{3}-\d{7} 先来一段

Java/Android引用类型及其使用全面分析_java

Java/Android中有四种引用类型,分别是: Strong reference - 强引用 Soft Reference - 软引用 Weak Reference - 弱引用 Phantom Reference - 虚引用 不同的引用类型有着不同的特性,同时也对应着不同的使用场景. 1.Strong reference - 强引用 实际编码中最常见的一种引用类型.常见形式如:A a = new A();等.强引用本身存储在栈内存中,其存储指向对内存中对象的地址.一般情况下,当对内存中的对象

图片-谁能帮我看下这段代码什么意思?他有说过是配置文件,不过我没懂

问题描述 谁能帮我看下这段代码什么意思?他有说过是配置文件,不过我没懂 解决方案 就是一般的配置文件呀,用来程序动态读取数据的,数据维护简单方便,可以用来存储一些不太重要的数据, 具体实现可以用java,c#等等,相关java类有,XmlDocument,XmlElement 解决方案二: 存数据的文件,类似数组.json:只不过规则不同,不是key value了