前言

最近公司项目需要用aidl,遇到了方法参数传过去为空的问题,最后把所有参数前缀改成inout搞定,虽然避免了问题,但还是解决问题比较好,于是我花了大半个下午枚举了下,测试出了这些前缀的作用。

定义

  • 前缀的作用是相对于调用这个方法的对象而言的;可将调用者称为客户端,实现方法的叫服务端
  • 将服务端能够在客户端调用方法后可以正确收到方法参数值(不报错,不为空),称之为客户端可以写入
  • 将客户端能够在服务端改变参数的值后收到改变后的值,称之为服务端可以写入

测试

客户端 服务端 结果
in in   客户端可以写入;服务端不能写入
in out   客户端不能写入(为空);服务端不能写入
in inout   客户端可以写入;服务端不能写入
out in   客户端不能写入(报错)
out out   客户端不能写入(为空);服务端可以写入
out inout   客户端不能写入(报错)
inout in   客户端可以写入;服务端不能写入
inout out   客户端不能写入(为空);服务端可以写入
inout inout   客户端可以写入;服务端可以写入

结论:

  • 两边都有in时,客户端才能写入。
  • 两边都有out时,服务端才能写入。
  • 客户端为out,且服务端有in时,会报空指针异常。
  • 客户端和服务端方法参数前缀可以不同,但如果方法不同(比如一方多了方法)则可能造成问题。

AIDL 方法参数的in out inout前缀作用相关推荐

  1. $emit传递多个参数_10年架构师深解java核心技术:方法参数+对象构造,确定不学?...

    方法参数 首先回顾一下在程序设计语言中有关参数传递给方法(或函数)的一些专业术语.值调用(call by value)表示方法接收的是调用者提供的值.而引用调用(call by reference)表 ...

  2. ##方法参数类型以及类型问题的研究

    方法参数类型以及类型问题的研究 类名作为形式参数 A:案例:类名作为形式参数传递 当你以后看到一个方法的形参要一个类的类型,米酒传递该类的一个对象. public class MyTest {publ ...

  3. 2021年大数据常用语言Scala(十一):基础语法学习 方法参数

    目录 方法参数 默认参数 带名参数 变长参数 方法参数 scala中的方法参数,使用比较灵活.它支持以下几种类型的参数: 默认参数 带名参数 变长参数 默认参数 在定义方法时可以给参数定义一个默认值. ...

  4. java mvc 绑定_关于Java:Spring MVC:将请求属性绑定到控制器方法参数

    在Spring MVC中,很容易将请求参数绑定到处理请求的方法参数. 我只是使用@RequestParameter("name"). 但是我可以对request属性做同样的事情吗? ...

  5. C#参考之方法参数关键字:params、ref及out

    params 使用 params 关键字可以指定采用数目可变的参数的方法参数. 可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组. 还可以不发送参数. 如果未发送任何参数,则 pa ...

  6. jsr 303_使用Spring和JSR 303进行方法参数验证

    jsr 303 Spring提供了一种使用JSR 303 bean验证来验证方法参数的简便方法. 在这篇文章中,我们将看到如何使用此功能. 设定 首先,我们需要通过创建MethodValidation ...

  7. matplotlib.pyplot中add_subplot方法参数111的含义

    >引自:http://www.codeweblog.com/matplotlib-pyplot中add_subplot方法参数111的含义/

  8. java方法的参数_Java方法参数

    Java方法参数 在程序设计语言中如何将参数传给方法(或函数): 按值调用:方法接受的是调用者提供的值 按引用调用:方法接受的是调用者提供的地址 Java程序设计语言总是采用按值调用(方法得到的是所有 ...

  9. python3.5怎么使用-Python3.5常见内置方法参数用法实例详解

    本文实例讲述了Python3.5常见内置方法参数用法.分享给大家供大家参考,具体如下: Python的内置方法参数详解网站为:https://docs.python.org/3/library/fun ...

  10. final 修饰方法参数

    2019独角兽企业重金招聘Python工程师标准>>> 方法参数添加final, 方法里面不能再修改该变量. 转载于:https://my.oschina.net/u/3781047 ...

最新文章

  1. 【词汇】ab-前缀、al-后缀、norm-词根
  2. 无边框窗体移动的方法
  3. 分类模型的评估方法-F分数(F-Score)
  4. 拔得头筹 | 阿里云混合云荣膺IPv6最佳实践奖
  5. (计算机组成原理)第二章数据的表示和运算-第一节3:字符与字符串在计算机中的表示详解
  6. arc073F Many Moves
  7. mysql指令按顺序排列_《深入浅出MySQL》读书笔记(一)sql基础,常用的操作语句。...
  8. C++中的config设计
  9. 基于udp端口转发程序设计(一)
  10. 笔记本什么都没开,风扇为什么一直转?——CDPUserSvc服务
  11. stl源码 vector不正规解析2 (自用)VS2019
  12. 黑苹果(Hackintosh)简单步骤教程
  13. VirtualBox下Windows和Ubuntu的文件夹共享
  14. php图片留白,PHP:图片不变形处理(留白处理与截取处理)-奇乐网
  15. 生信工作流框架搭建 | 02-nextflow 实战
  16. 江城如画里,山晚望晴空。 两水夹明镜,双桥落彩虹。 人烟寒橘柚,秋色老梧桐。谁念北楼上,临风怀谢公
  17. node安装指定版本 (LTS 长期稳定版本,Current 最新版本)
  18. maven命令行下载依赖
  19. ps界面为啥突然变大了_photoshop 2020来了,ps进入智能修图时代,新特性太逆天了...
  20. GNT《谷蓝尼牧场》游戏将正式开通超级节点申请

热门文章

  1. matlab sg3525仿真,基于SG3525的直流升压电源的设计与仿真
  2. php字体颜色代码大全,CSS中关于文本字体颜色(CSS color)的详解
  3. 如何升级iOS15,描述文件详细安装教程
  4. 电脑连接热点无internet访问权限_Win10连接wifi后显示无internet访问权限如何解决...
  5. 163邮箱 java发送html邮件,java邮件发送 qq与163邮箱互发和qq和163邮箱发送其余邮箱实例...
  6. Pygame详解(九):mixer 模块
  7. 调试铁通与联通专线遇到的问题
  8. 使用c++filt工具demangle C++符号
  9. 性早熟和微生物群:性激素-肠道菌群轴的作用
  10. 我奋斗了十八年不是为了和你一起喝杯咖啡