gpt4 book ai didi

java - 是否可以从函数返回 L 值

转载 作者:搜寻专家 更新时间:2023-10-31 20:20:46 24 4
gpt4 key购买 nike

正如你们中的一些人所知,C++ 允许这样做:

get( array, 5 ) = 5;

使用 get 函数实现如下:

int& get( int* array, int index ) { return array[index]; }

在 Java 中有类似的东西吗?更具体地说,我想将数组索引逻辑封装在一个函数中(以一种高性能的方式)。

最佳答案

没有这样的选择。非对象(文字)是原始类型,您不能简单地连接两个变量,以便在更改一个时,第二个也会更改。

所有对象都由其引用表示,您可以使用这些引用来更改持有对象的某些属性。这意味着您可以编写代码:

getMyObject().setX(newXVal);

但是你不能写:

getMyObject().getX() = newVal;

因为方法 getX()(以及任何不返回 void 的方法)总是返回值类型(当返回 Object 时,它是它的地址,当返回文字时,它只是这个文字的值)。

如果您想用 Java 编写性能优化的代码 - 首先编写,然后测量,最后调整它(如果测量步骤表明它很慢)。 JVM 有足够的优化来使您的代码尽可能快,您不必过早地优化代码。

关于java - 是否可以从函数返回 L 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20279630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com