1) 利用数组实现 首先,在调用函数中,定义一个对象数组,把所有输入输出参数存入对象数组中; 其次,在被调用函数中,把这些参数从对象数组中取出来使用;再次,在被调用函数中,再把这些参数值存入对象数组中;最后,在调用函数中,把这些参数值从对象数组中取出来使用。利用对象数组的问题是——代码可读性太差,而且在参数的存入和取出过程中,需要进行数据类型的强制转化。如果所有输入输出参数的类型一致,可以直接定义该类型的数组,从而避免了数据类型的强制转化。 2) 利用 Map 实现 首先,在调用函数中,定义一个对象 Map,把所有输入输出参数存入对象 Map 中; 其次,在被调用函数中,把这些参数从对象 Map 中取出来使用;再次,在被调用函数中,再把这些参数值存入对象 Map 中;最后,在调用函数中,把这些参数值从对象 Map 中取出来使用。 利用对象 Map 实现,代码的可读性比利用对象数组实现更强,但是也存在同样的问题——在参数的存入和取出过程中,需要进行数据类型的强制转化。如果所有输入输出参数的类型一致,可以直接定义该类型的 Map,从而避免了数据类型的强制转化。但是,利用对象 Map 实现,还不如定义一个参数类更实用。 3) 利用原子类实现 JDK 中,提供了一套原子类——AtomicInteger、AtomicLong、AtomicDouble 等,可用于对应的基础类型和包装类型,实现对应参数的输入输出功能。实现方法跟 ObjectHolder 一样,这里不再累述。以上内容摘自《Java工程师必读手册》电子书,点击https://developer.aliyun.com/ebook/download/7780 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。