草庐IT

reference-parameters

全部标签

java : Best way to pass int by reference

我有一个解析函数,它从字节缓冲区解析编码长度,它以int形式返回解析后的长度,并将缓冲区的索引作为整数arg。我希望函数根据解析的内容更新索引,即希望通过引用传递该索引。在C语言中,我只需传递一个int*。在Java中执行此操作的最干净的方法是什么?我目前正在考虑传递索引arg。作为一个int[],但是有点难看。 最佳答案 您可以尝试使用ApacheCommons库中的org.apache.commons.lang.mutable.MutableInt。语言本身没有直接的方法。 关于ja

java - 需要包含 <my reference> 的封闭实例

Anenclosinginstancethatcontainsisrequired下面是代码。positionObj是我尝试使用的对象,它给了我上述错误。原因不明。packagetoolBox;importtoolBox.Secretary.positionObj;publicclassPositionManagement{publicstaticHashMapmain(StringvArg){positionObjnewPosition=newpositionObj();}} 最佳答案 您正在尝试使用非静态内部positionOb

Java 未选中 : unchecked generic array creation for varargs parameter

我已将Netbeans设置为在我的Java代码中显示未经检查的警告,但我无法理解以下几行中的错误:privateListcocNumbers;privateListvatNumbers;privateListibans;privateListbanks;...List>combinations=Utils.createCombinations(cocNumbers,vatNumbers,ibans);给予:[unchecked]uncheckedgenericarraycreationforvarargsparameteroftypeList[]方法来源:/***Returnsalis

java - Android Studio 错误 : Not annotated parameter overrides @NonNull parameter 的含义

我正在试用AndroidStudio。在创建新项目并将默认onSaveInstanceState方法添加到createMyActivity类时,当我尝试将代码提交到Git时,我收到一个我不明白的奇怪错误。代码是这样的:我得到的错误是这样的:如果我尝试将方法签名更改为protectedvoidonSaveInstanceState(@NotNullBundleoutState),那么IDE会告诉我它无法解析符号NotNull。我需要做什么才能消除警告? 最佳答案 这是一个注解,但正确的名称是NonNull:protectedvoido

java - 当 toString() 和 hashCode() 被覆盖时,如何在 java 中获取对象的 "object reference"?

我想在Java中打印对象的“对象引用”以进行调试。IE。根据情况确保对象相同(或不同)。问题是有问题的类继承自另一个类,它覆盖了toString()和hashCode()这通常会给我id。示例情况:运行一个多线程应用程序,我(在开发期间)想检查所有线程是否使用资源对象的同一个实例。 最佳答案 您究竟打算用它做什么(您想要做什么与您需要调用的内容不同)。hashCode,如JavaDocs中所定义,说:Asmuchasisreasonablypractical,thehashCodemethoddefinedbyclassObject

java - Kotlin-android : unresolved reference databinding

我使用新的数据绑定(bind)库用Java编写了以下fragment类importcom.example.app.databinding.FragmentDataBdinding;publicclassDataFragmentextendsFragment{@NullableprivateFragmentDataBindingmBinding;@Nullable@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){mBinding=DataB

java - 是否可以解决 "A generic array of T is created for a varargs parameter"编译器警告?

这是相关代码的简化版本,一个泛型类使用另一个具有泛型类型参数的类,并且需要将其中一个泛型类型传递给具有可变参数参数的方法:classAssembler{voidassemble(Xcontainer,Y...args){...}}classComponent{voiduseAssembler(Tsomething){Assemblerassembler=newAssembler();//generateswarning://Typesafety:AgenericarrayofTis//createdforavarargsparameterassembler.assemble("hell

C++ Lambda : Difference between "mutable" and capture-by-reference

在C++中,您可以像这样声明lambda:intx=5;autoa=[=]()mutable{++x;std::cout都让我修改x,那有什么区别呢? 最佳答案 发生了什么第一个只会修改自己的x拷贝,而外面的x保持不变。第二个会修改外面的x。每次尝试后添加打印语句:a();std::cout预计会打印:65----66为什么考虑一下lambda可能会有所帮助[...]expressionsprovideaconcisewaytocreatesimplefunctionobjects(参见标准的[expr.prim.lambda])他

c++ - 对静态成员的 undefined reference

我正在使用交叉编译器。我的代码是:classWindowsTimer{public:WindowsTimer(){_frequency.QuadPart=0ull;}private:staticLARGE_INTEGER_frequency;};我收到以下错误:undefinedreferenceto`WindowsTimer::_frequency'我也试过改成LARGE_INTEGER_frequency.QuadPart=0ull;或staticLARGE_INTEGER_frequency.QuadPart=0ull;但我仍然遇到错误。有人知道为什么吗?

c++ - 没有 'rvalue references to *this' 功能的解决方法

我有一个围绕可move对象的代理容器类,并希望代理能够隐式产生对底层对象的右值引用,但仅在代理本身被move时。我相信我将能够按照提案n2439"Extendingmovesemanticsto*this"实现此行为,但它在gcc的发行版中尚不可用,并且暂时不会。下面的代码是我最终的目标,但目前还不可能。在我可以使用此功能之前,是否有任何等效的解决方法?templatestructmovable_proxy{operatorT&&()&&{returnstd::move(value);}operatorconstT&()const&{returnvalue;}private:Tvalu