草庐IT

弱引用

全部标签

java - 循环的简写是否缓存可迭代的引用?

我可能试图变得过于高效,但我一直想知道以下两个代码示例中的哪一个会执行得更快。假设您有一个对包含Strings的ArrayList的对象的引用,并且您想要遍历该列表。以下哪项更有效(即使只是略微有效)?for(Strings:foo.getStringList())System.out.println(s);或者ArrayListstringArray=foo.getStringList();for(Strings:stringArray)System.out.println(s);如您所见,第二个循环初始化了对列表的引用,而不是像第一个示例那样在每次迭代时都调用它。除非这个概念是完全

Java - 如何在迭代期间引用上一个和下一个元素?

当我有一个for循环时,我使用i来引用我的数组、对象等的元素。喜欢:当前项:myArray[i]下一项:myArray[i+1]上一项:myArray[i-1]但目前,我正在使用foreach循环(for(Objectelem:col){)。如何引用上一项?(我需要搜索一个“数组”,我正在使用for(Objectobject:getComponents())进行搜索。但是当它返回true时(因此它找到了我要查找的内容),它应该在previous和next项目上执行代码。说明:我有java.awt.Component元素! 最佳答案

java - 如何在 Spring 表达式语言中引用常量

我是Spring的新手,我有一个bean声明如下。typeOf是一种Integer类型,它是typeOfBuilder通过Key构建的另一个表的键,OPEN_DATE在这种情况下。这段代码工作正常,但有一个限制。OPEN_DATE是NON-MANAGESpringBean中的常量,如下所示。publicfinalclassConstants{publicfinalstaticStringKEY_FOR_OPEN_DATE="OPEN_DATE";}并强烈推荐能够引用!!像这样。非常感谢任何帮助。 最佳答案 Thespecial'T'

c# - 在 Java/C# 中,通常什么时候对引用类型变量使用 == 相等性?

作为标题为“等于和==之间的区别”的问题的一种跟进:在哪种情况下您会发现自己在Java/C#中测试引用相等性? 最佳答案 合并答案...When,typically,doyouuse==equalityonareferencetypedvariableinJava/C#?1。检查空值:if(a==null)...2。为了在构建equals实现时提高效率:booleanequals(Objecto){if(o==null)returnfalse;if(this==o)returntrue;//Somepeoplewouldprefer

java - Java 中的引用变量里面有什么?

我们知道对象引用变量包含表示访问对象的方式的位。它不保存对象本身,但它保存诸如指针或地址之类的东西。我正在阅读Head-FirstJava(第2版)这本书,书中写道(第3章,第54页)InJavawedon'treallyknowwhatisinsideareferencevariable.Wedoknowthatwhateveritis,itrepresentsoneandonlyoneobject.AndtheJVMknowshowtousethereferencetogettotheobject.-我想问:对象引用变量是否包含指针、地址或其他内容?JVM如何解释它?

java - 有没有比单元素数组更好的引用容器?

如果变量是final,则Java匿名类只能从周围方法访问该变量,因此内部类不能写入该变量。为了捕获由封闭类型创建的对象,我创建了一个final单元素数组作为引用:finalString[]ref=newString[1];finalRunnablerunnable=newRunnable(){publicvoidrun(){ref[0]="Helloworld";}};runnable.run();System.out.println(ref[0]);这似乎有效,而且我认为性能不错。但感觉有点老套。显然,编写一个Ref类来替换它是微不足道的:finalRefref=newRef();f

java - lambda 表达式和实例化方法引用之间的不同行为

据我所知,lambda表达式可以毫无问题地替换为方法引用。我的IDE说的是一样的,但下面的例子显示了相反的情况。方法引用显然返回相同的对象,而lambda表达式每次都返回新对象。importjava.util.List;importjava.util.stream.Collectors;importjava.util.stream.Stream;publicclassInstance{intmember;Instanceset(intvalue){this.member=value;returnthis;}@OverridepublicStringtoString(){returnme

java - 无法处理托管/反向引用 'defaultReference' : no back reference property found

我有两个模型类。一个是@Entity(name="userTools")@Table(uniqueConstraints=@UniqueConstraint(columnNames={"assignToUser_id","toolsType_id"}))@Inheritance(strategy=InheritanceType.JOINED)@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS,include=JsonTypeInfo.As.PROPERTY,property="className")@JsonIgnoreProperties(ignoreUn

JAVA不能对非静态字段做静态引用

这是我在JAVA中的第一个程序,我无法理解这个错误Cannotmakeastaticreferencetothenon-staticfield*和Cannotmakeastaticreferencetothenon-staticmethod*publicclassCerchio{floatr;floatarea;floatcfr;finaldoublepi=3.14;publicstaticvoidmain(String[]args){System.out.println("CIRCLEPROGRAM\n");r=5;c_cfr();c_area();System.out.ptintl

java - 是否可以获取对 Java 方法的引用以便稍后调用它?

是否可以获取对象方法的引用?例如,我想要一个调用其他方法作为回调的方法。像这样的东西:publicclassWhatever{publicvoidmyMethod(Methodm,Objectargs[]){}}这可能吗?编辑:我的意思是一个对象的方法。我认为这是不可能的? 最佳答案 是的,这是可能的。您只需获取方法并调用它。下面是一些示例代码:$catInvokeMethod.javaimportjava.lang.reflect.Method;importjava.lang.reflect.InvocationTargetExc