在构造函数中,我经常指定一个不存在的字段,并在"CurrentType"类型中选择Ctrl + 1"Create field'memberField'".
问题是我希望默认情况下该字段是最终字段,而不是.这个快速修复的某个地方有模板吗?谢谢.
在C#中编写一个类时,如果只将它们分配给构造函数并且不会在类的其他地方进行更改,那么将所有私有成员变量标记为私有只读是一个好主意吗?或者这有点矫枉过正?
我有一个问题,局部类中的Java(即在方法或所界定块声明类{}).
有没有理由不宣布本地课程为最终?我们不能从本地类继承其他类(如果它没有在同一范围内定义),但是当我们将它声明为final时,编译器可以使代码更简单吗?
谢谢!
如果我查看OpenJDK或Hibernate或Apache中的java源代码,我还没有看到任何声明为final的局部变量.
这表明一些最广泛使用的java软件库的开发人员:
不相信最终关键字会提高可读性.
不相信它会显着提高性能.
为什么stackoverflow上的大多数控制者认为它应该被使用(基于最高投票回复)?
为什么我从-Xlint收到这4个警告,我该怎么办呢?我刚开始使用Java,所以很可能会遗漏一些明显的东西.
import java.util.*;
class CompareGerbils implements Comparator {
public int compare(Object o1, Object o2) {
return ((Gerbil)o2).number() - ((Gerbil)o1).number();
}
}
class Gerbil {
int gerbilNumber;
Gerbil(int gN) {
gerbilNumber = gN;
}
int number() {
return gerbilNumber;
}
}
public class lt {
public static void main(String[] args) {
// I'd like to be able to add both ints and strings to list
ArrayList list = new ArrayList();
//unchecked call warning:
list.add(1);
//unchecked call warning:
list.add("b");
ArrayList<Gerbil> gerbillist = …Run Code Online (Sandbox Code Playgroud) 今天在搜索谷歌的某段代码时,我遇到了一个Q/A博客,据说我们可以在一个类的方法中声明一个局部变量为final.但是,提交人不愿意解释这样做的必要性/好处.
喜欢
public class A
{
private void show()
{
final String s="checking";
}
}
Run Code Online (Sandbox Code Playgroud)
我会寻求java专家的帮助来教育我这个.在此先感谢您的支持和指导.
最好的祝福!
private <K> Map<K, Object> createMap(final Class<K> keyClass) {
final boolean isEnum = keyClass.isEnum();
if(isEnum) {
// The following two lines throw warnings
final Class<? extends Enum<?>> enumCls = (Class<? extends Enum<?>>)keyClass;
final Map<K, Object> map = (Map<K, Object>)new EnumMap(enumCls);
return map;
}
else{
final Map<K, Object> map = new HashMap<K, Object>();
return map;
}
}
Run Code Online (Sandbox Code Playgroud)
found : java.lang.Class<K>
required: java.lang.Class<? extends java.lang.Enum<?>>
final Class<? extends Enum<?>> enumCls = (Class<? extends Enum<?>>)keyClass;
^
T.java:9: warning: [unchecked] unchecked call to EnumMap(java.lang.Class<K>) …Run Code Online (Sandbox Code Playgroud)