草庐IT

delegating-constructor

全部标签

java - "private constructor capture"习语的 Java 示例是什么?

谁能给我解释一下私有(private)构造函数捕获习语,并指出我们真正需要/不需要这种设计的地方? 最佳答案 目的是在施工期间获取临时值(value)。JavaPuzzlers的解决方案53中给出了一个示例:publicclassMyThingextendsThing{privatefinalintarg;publicMyThing(){this(SomeOtherClass.func());}privateMyThing(inti){super(i);arg=i;}}在这种情况下,我们想要捕获并存储我们希望传递给父类(superc

java - Jackson JSON - 解码时出现 "no single-String constructor/factory method"错误

最简单的情况给我带来了麻烦。我第一次遇到它。我能够解码稍微复杂的json,但这个简单的失败了。什么会导致这种情况?为什么jackson只用一个字符串就有问题?保存用户角色名称的简单类。publicclassUpdateUserRole{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}Controller内部publicvoidupdateUserRole(@PathVariableLongid,@RequestBodyUpdateUser

java - 向 Java 程序员解释 Objective-C 委托(delegate)

我是Objective-C的新手,但在Java方面经验丰富。Java中是否有Objective-C“委托(delegate)”的等效概念,以便我可以更好地理解这个概念?有没有办法在Java中模拟委托(delegate)概念? 最佳答案 委派只是一种避免必须将对象(如TableView)子类化以实现应用程序特定行为的方法,而是将责任交给Controller。当您创建TableView时,您为其分配一个Controller对象,该对象实现一组已定义的方法(一些可能是必需的,其他可能是可选的)。当TableView需要数据或必须决定如何显

java - "Constructor cannot be applied to given types"当构造函数有继承时

这是我的基类:abstractpublicclassCPUextendsGameObject{protectedfloatshiftX;protectedfloatshiftY;publicCPU(floatx,floaty){super(x,y);}这是它的一个子类:publicclassBeamextendsCPU{publicBeam(floatx,floaty,floatshiftX,floatshiftY,intbeamMode){try{image=ImageIO.read(newFile("/home/tab/Pictures/Beam"+beamMode+".gif")

java - 为什么我会收到 "classes must have either one (and only one) constructor"错误?

我一直在努力让Guice正常工作,但结果是这样的:Classesmusthaveeitherone(andonlyone)constructor我的界面:publicinterfaceAddrBookStore{publicContactgetContactByKey(Stringkey);publicvoidaddContact(Contactc);}实现:publicclassRdbmsBasedAddrBookStoreimplementsAddrBookStore{privateConnectionconnection;publicRdbmsBasedAddrBookStore

java - 为什么我的自定义 SecurityManager 在第 16 次使用 Constructor.newInstance 创建对象时会导致异常?

我目前正在开发一个小型Java应用程序,其中受信任的代码必须与不受信任的代码一起运行。为此,我安装了一个自定义的SecurityManager,它会在检查权限时抛出SecurityException。作为可信代码和不可信代码之间的桥梁,我有一个线程使用Constructor.newInstance()来实例化一个不可信类型的对象。在进行此调用时,安全管理器配置为阻止所有内容。有趣的是,前15次我尝试使用Constructor.newInstance()创建对象时,一切正常,但第16次我遇到了SecurityException。我已经设法将其归结为一个简单的测试程序:importjava

java - jmh 表示 M1 比 M2 快,但 M1 委托(delegate)给 M2

我写了一个JMH基准测试,涉及2个方法:M1和M2。M1调用M2,但出于某种原因,JMH声称M1比M2快。这是基准源代码:importjava.util.concurrent.TimeUnit;importstaticorg.bitbucket.cowwoc.requirements.Requirements.assertThat;importstaticorg.bitbucket.cowwoc.requirements.Requirements.requireThat;importorg.openjdk.jmh.annotations.Benchmark;importorg.open

c# - 将 C++ 函数指针设置为 C# 委托(delegate)

我有一个非托管的C++应用程序作为COM客户端和一个C#COM服务器。现在我希望COM服务器可以调用C++函数。C#:[ClassInterface(ClassInterfaceType.AutoDual)]publicclassSomeType{[UnmanagedFunctionPointer(CallingConvention.Cdecl)]publicdelegatevoidDeleCallBack(stringinfo);publicDeleCallBackCallBack;publicvoidSetCallBack(refIntPtrptr){CallBack=(DeleC

c++ - 分配给 *this 用于构造函数委托(delegate)

我正在查看C++11中的一些新功能,但由于我当前的GCC版本,我无法使用构造函数委托(delegate)。但这让我开始考虑像这样复制该功能:classA{public:A():num(42){}A(intinput){*this=A();num*=input;}intnum;};它当然可以编译并且工作正常,下面的代码:Aa;cout返回这个,这是正确的。4284显然这是一个非常简单的例子,但除了内存效率低下(两个A被创建,一个在被销毁之前被另一个覆盖)之外,还会出现什么问题?这看起来确实像是一种代码味道,但我想不出真正好的理由。 最佳答案

当 C++ 使用智能指针时,C# 委托(delegate)等效

我主要是一名从事C++项目的.NET程序员,我正在尝试确定处理使用Action和Function模板类型的委托(delegate)的等效方法。我将委托(delegate)用作.NET代码中的事件和回调。我的C++项目使用智能指针和与C#程序相同的委托(delegate)设计模式。处理这种情况的最佳方法是什么?我不清楚如何传递和维护一个函数指针,该函数指针还跟踪智能指针并可能删除底层对象,因为事件容器使用弱引用。该库需要是多平台的,因此不幸的是,使用CLR不是一种选择。 最佳答案 您正在寻找的是绑定(bind)到现有对象的方法指针,就