作者不希望自己的程序改变调用方的参数值,如果直接使用调用方传入的参数,举个例子,比如第一个srcBegin参数,传入是1,如果直接使用该参数,那么在这个getByte方法执行完后,入参的值在你下一行打印的时候就会发现改变了,具体你可以搜索java的值传递相关知识
在一个方法中需要大量引用实例域变量的时候,使用方法中的局部变量代替引用可以减少getfield操作的次数,提高性能。
有问题即使沟通哈,相互学习!
因为j与i在下面的while循环里值变化了,一个好的开发习惯是不应该修改入参的值,因为这样会使调用者很迷惑,虽然这里的int类型改变不会影响到调用者。我倒是觉得/* avoid getfield opcode */这段注释更值得问问。
至少在这个方法里,我觉得没必要这么写,直接用就好了
这方法都已经标记成@Depercated了。。。
有对入参进行操作,如果后面还要用到入参,就丢失了原始值
局部变量拷贝
可能是出于开发者的谨慎吧,考虑到代码的可读性,传入的几个参数都会被计算导致值变化,这样会丢失初始值,以后如果要维护,要用到初始值就得改很多代码,后期也不利于维护,我觉得涉及到计算的入参,最好都用新变量接收
value 在哪里定义的?
不知有没有更有说服力的解释
贴出来的就是完整的方法,之前到时听过java开发规范中有提到入参使用注意点,不好不要修改它,所以赋值后使用
下面不是j++,i++吗,估计再下面的代码,还需要用到入参的那些值吧
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(13)
引用来自“小99”的评论
作者不希望自己的程序改变调用方的参数值,如果直接使用调用方传入的参数,举个例子,比如第一个srcBegin参数,传入是1,如果直接使用该参数,那么在这个getByte方法执行完后,入参的值在你下一行打印的时候就会发现改变了,具体你可以搜索java的值传递相关知识
在一个方法中需要大量引用实例域变量的时候,使用方法中的局部变量代替引用可以减少getfield操作的次数,提高性能。
作者不希望自己的程序改变调用方的参数值,如果直接使用调用方传入的参数,举个例子,比如第一个srcBegin参数,传入是1,如果直接使用该参数,那么在这个getByte方法执行完后,入参的值在你下一行打印的时候就会发现改变了,具体你可以搜索java的值传递相关知识
有问题即使沟通哈,相互学习!
因为j与i在下面的while循环里值变化了,一个好的开发习惯是不应该修改入参的值,因为这样会使调用者很迷惑,虽然这里的int类型改变不会影响到调用者。
我倒是觉得/* avoid getfield opcode */这段注释更值得问问。
至少在这个方法里,我觉得没必要这么写,直接用就好了
这方法都已经标记成@Depercated了。。。
有对入参进行操作,如果后面还要用到入参,就丢失了原始值
局部变量拷贝
可能是出于开发者的谨慎吧,考虑到代码的可读性,传入的几个参数都会被计算导致值变化,这样会丢失初始值,以后如果要维护,要用到初始值就得改很多代码,后期也不利于维护,我觉得涉及到计算的入参,最好都用新变量接收
value 在哪里定义的?
不知有没有更有说服力的解释
贴出来的就是完整的方法,之前到时听过java开发规范中有提到入参使用注意点,不好不要修改它,所以赋值后使用
下面不是j++,i++吗,估计再下面的代码,还需要用到入参的那些值吧