草庐IT

Instance

全部标签

java - 我无法让它工作,方法和实例变量

我是编程新手,如果这是一个愚蠢的错误,我很抱歉,但我一直收到此错误"CompanyAddress.java:11:error:cannotfindsymbolSystem.out.println(testObject.getName(CompanyName));"我不知道我做错了什么。主要。importjava.util.Scanner;publicclassCompanyAddress{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);testtestObject=newtest();System

java微优化: combine set of boolean instance variables to bit vector based on int

我们有一个包含很多实例的类,遇到了内存问题。因此,我们尽量减少这个类的内存需求。一种想法如下。该类有许多boolean实例变量,在天真的实现中,每个实例变量都会占用一个词。可以考虑将它们组合成一个存储在int中的微型位vector,这样它们的组合内存需求就是一个字。但我怀疑JavaVM无论如何都会进行这种优化,因此手动执行它不会获得任何额外的节省。对吧? 最佳答案 boolean值使用1个字节的内存(在热点上)。您可以使用替代方案:一个BitSet:每个boolean值大约使用1位+类本身的开销、对BitSet的引用、对BitSet

Java8 : Is there a way to get an instance method reference from a class method reference?

例如,如果我有这样的界面:publicinterfaceFooBar{Bfoo(Aa);Bbar(Aa);}有没有办法像FooBar::bar那样获取类级别的方法引用?并获取实例方法引用?即。如果我有FooBarmyFooBarInstance;BiFunction,A,B>barFunction=FooBar::bar;有什么简单的方法可以得到Function与我定义的实例相匹配的实例FunctionmyBarFunction=myFooBarInstance::bar; 最佳答案 您想要做的在函数编程世界中被称为“部分函数应用程

java - 在引用变量上调用方法与在新对象上调用方法

我在调用非静态方法时感到困惑classA{voiddoThis(){}publicstaticvoidmain(String...arg){Aa1=newA();a1.doThis();//method-1newA().doThis();//method-2}}我知道method-1和method-2都会调用doThis(),但有什么功能上的区别吗? 最佳答案 这些方法的执行没有任何区别,但在newA().doThis()的情况下,您将失去对对象实例的引用已经调用了该方法,您将无法在您的代码中进一步使用它。此方法可能对实例的内部状态

java - 如何从通用对象调用实例方法?

假设我有一个arrayList包含不同类的项目,它们都具有相同的方法:draw();我有第三个类,其方法drawItems()将arrayList作为参数。现在,如果这些对象作为通用对象传递,我该如何调用这些对象的draw()方法?下面这个是行不通的。我明白为什么。Java不知道项目有这样的功能。我该如何解决这个问题?publicvoiddrawItems(ArrayListdata){data.forEach((Titem)->{item.draw();});}更新谢谢大家。我是这样做的:1)创建名为Drawable的接口(interface):publicinterfaceDraw

java - 使用 AtomicReference 的单例

使用AtomicReference的惰性初始化单例的实现是否正确?如果不是-可能的问题是什么?importjava.io.ObjectStreamException;importjava.io.Serializable;importjava.util.concurrent.atomic.AtomicReference;publicclassSingletonimplementsSerializable{privatestaticfinalSingleton_instance=newSingleton();privatestaticAtomicReferenceinstance=newA

java - 需要不兼容的类型 : Class<T> found: Class<CAP#1> where T is a type-variable

以下代码:publicclassA{Classklass;Tinstance;publicA(Tinstance){this.klass=instance.getClass();//thisrequiresanexplicitcasttoClasstosatisfythecompilerthis.instance=instance;}}编译时给出:A.java:7:error:incompatibletypesthis.klass=instance.getClass();^required:Classfound:ClasswhereTisatype-variable:TextendsO

java - 为什么有些类在创建实例时不需要单词 "New"?

我是Java新手。让我感到困惑的一件事是为什么有些类需要new来实例化,而其他一些类不需要new来实例化。比如我在看log4j,它不需要new。//getaloggerinstancenamed"com.foo"Loggerlogger=Logger.getLogger("com.foo");logger.setLevel(Level.INFO);为什么其他一些类需要new?例如,一个Employee类:EmployeeX=newEmployee(John);X.getwork();等等等等为什么我们没有说Loggerlogger=newLogger(...);?以及为什么即使没有ne

java - 确定一个类对象是否是一个抽象类的实例

我正在尝试确定通用类对象是否是抽象类的实例。到目前为止,我运气不佳。下面是我正在尝试使用的代码。AbstractActivity是我从中扩展一些Activity的父类的名称。publicvoidstartActivity(Intentintent){ComponentNamename=intent.getComponent();if(name!=null){Classcls=null;try{cls=Class.forName(name.getClassName());if(cls.isInstance(AbstractActivity));{//dosomething}else{su

java - 在 Java 中设置实例?

Java定义了一个Set接口(interface),其中contains()定义如下:Returnstrueifthissetcontainsthespecifiedelement.Moreformally,returnstrueifandonlyifthissetcontainsanelementesuchthat(o==null?e==null:o.equals(e)).Collection接口(interface)定义了contains()如下:Returnstrueifthiscollectioncontainsthespecifiedelement.Moreformally,