当前位置:编程学习 > JAVA >>

java 没有引用传参很不方便

java 只能在容器类的变量实现引用传参,对于int这类变量,做不到引用传参,很不方便。

我写c++的时候,喜欢这么写 

func( int &a, int &b, int &c){
}

通过这种方式我可以一起修改很多变量,很方便。
现在用java来写,就觉得很不顺,必须构造一个容器来实现引用传递,
消耗更多内存不说,还不好看。另外在C环境下,我很清楚heap和stack的区别,
在java,我感觉只有int这种简单变量才在stack存在,我觉得可能效率没有那么好。 --------------------编程问答-------------------- 用Integer如果非要这样 --------------------编程问答-------------------- java中的class大多数是通过引用,可以用类对象传递实现 --------------------编程问答--------------------
引用 1 楼 zqfddqr 的回复:
用Integer如果非要这样


Integer和string这些都不能做引用传递的 --------------------编程问答-------------------- 楼主说的没错  --------------------编程问答-------------------- 习惯就好,怎么传都可以 --------------------编程问答-------------------- 这是习惯问题,我也觉得。 --------------------编程问答-------------------- c不也没有引用
光c++有 --------------------编程问答-------------------- java只有值传递,这是没啥好说的。
关键是你习惯性的用java写c的代码。那当然会别扭了。思维方式,在java中是需要反复重构的! --------------------编程问答-------------------- 编程思想和编程习惯的问题 --------------------编程问答-------------------- java是完全面向对象的,而且为了安全取消指针对内存的直接操作,所以基本类型要实现参数的in/out,就要封装为类属性而操作。
C自由灵活,java相对严谨一些。论效率,java是比不上C的,java的强项在于所谓的跨平台
慢慢习惯吧 --------------------编程问答--------------------
引用 10 楼 qybao 的回复:
java是完全面向对象的,而且为了安全取消指针对内存的直接操作,所以基本类型要实现参数的in/out,就要封装为类属性而操作。
C自由灵活,java相对严谨一些。论效率,java是比不上C的,java的强项在于所谓的跨平台
慢慢习惯吧
+1 --------------------编程问答-------------------- 没觉得哪里不方便 --------------------编程问答-------------------- 如果出现你说的情况

基本可以断定你的程序没设计好


用c++的思维来考虑java是不合适的

需要锻炼 --------------------编程问答--------------------
引用 10 楼 qybao 的回复:
java是完全面向对象的,而且为了安全取消指针对内存的直接操作,所以基本类型要实现参数的in/out,就要封装为类属性而操作。
C自由灵活,java相对严谨一些。论效率,java是比不上C的,java的强项在于所谓的跨平台
慢慢习惯吧

i++ --------------------编程问答-------------------- 那你用c++就好了,干嘛用java呢?!自找苦吃?自找麻烦?自找没趣?

是不是你在中国生活久了,去美国,然后见美国人都说英语,就说美国一点也不好,都不说汉语?

java若跟c++一样,还要java作甚?!

美国若跟中国一样,还存在美国么! --------------------编程问答--------------------
引用 15 楼 ticmy 的回复:
那你用c++就好了,干嘛用java呢?!自找苦吃?自找麻烦?自找没趣?

是不是你在中国生活久了,去美国,然后见美国人都说英语,就说美国一点也不好,都不说汉语?

java若跟c++一样,还要java作甚?!

美国若跟中国一样,还存在美国么!

太有见地了。 --------------------编程问答-------------------- 只能说各有各的特色。。如果你用另一语言的思维来考虑这种语言,肯定是不行的。 --------------------编程问答-------------------- 可以new一个Integer对象传进去 --------------------编程问答-------------------- new一个Integer对象传进去,楼主虽然说这样你感觉不方便了,但是这样的设计也会有其他的用处,否则java的设计人员就不这样设计了 --------------------编程问答-------------------- 哈哈,c++er在这里挨骂啊,java好啊,c++的东西就在c++里面用呗 --------------------编程问答-------------------- java是完全面向对象的,而且为了安全取消指针对内存的直接操作,所以基本类型要实现参数的in/out,就要封装为类属性而操作。
C自由灵活,java相对严谨一些。论效率,java是比不上C的,java的强项在于所谓的跨平台
慢慢习惯吧 --------------------编程问答-------------------- 2010年的坑啊 --------------------编程问答--------------------
引用 17 楼 zl3450341 的回复:
只能说各有各的特色。。如果你用另一语言的思维来考虑这种语言,肯定是不行的。
+ --------------------编程问答-------------------- 编程停留在语言层面上意义不大,个人觉的,用习惯了就舒服了,,
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,