草庐IT

size-classes

全部标签

java - 在数组上调用 .length 与保存 size 变量在性能上有区别吗?

我正在创建一个模拟程序,我希望代码非常优化。现在我有一个数组,它在我使用的各种for循环中循环了很多for(inti=0;i我想知道如果我在类中保存一个变量来指定这个数组长度,然后使用它来代替,是否会更快。或者它是否重要。 最佳答案 访问数组的长度属性是尽可能快的。您会看到有人建议您在进入循环之前保存数据结构大小,因为这意味着每次迭代都使用一个方法。但这是一种微优化,几乎不重要。在您有数据告诉您这是性能问题的原因之前,不要太担心这种事情。您应该花更多时间考虑要嵌入该循环的算法、可能的并行性等。这对您寻求优化解决方案的意义要大得多。

java - @Size(min, max) 但不是必需的

您好,在我的springwebapp中,我有一个密码变量,我希望它至少为0个字符或多于6个且少于20个。我知道有注释:@Size(min=6,max=20)但我不知道如何增加密码可以是0个字符的可能性。有人可以帮我解决这个问题吗? 最佳答案 鉴于评论,您可以使用StringTrimmerEditor将空字符串转换为null,然后@Size检查不会触发(null在@Size中被认为是有效的)。在您的Controller中添加以下方法:@InitBinderpublicvoidinitBinder(WebDataBinderbinder

java - Eclipse > Java > 打开链接资源源(.java 而不是 .class )?

我有2个项目,A和B项目B在他的构建路径>库中有A的类文件夹(Eclipse也认识到有一个“源附件”并添加了它。A和B都在同一个工作空间中。当我Ctrl+单击引用到B文件中的项目A的函数时,Eclipse打开A的.class文件。但是如果我需要编辑该文件的.java版本我必须在项目A中手动查找文件名并从项目资源管理器中打开它。没有更简单的方法可以从链接资源转到他源的->.java文件或从.class转到。java比手动展开文件夹和打开文件更简单? 最佳答案 转到项目->属性->Java构建路径。在Order和Export中,将所有s

java - 在 Java 中,为什么父类(super class)方法不能从子类实例访问 protected 或私有(private)方法/变量?

让我们从另一个行为开始:即使您将方法/变量声明为私有(private),同一类的另一个实例也可以访问它。没关系,我可以忍受。我称这些为类私有(private)而不是实例私有(private)。现在是问题部分:例如,在运行时我希望能够检查this类中的所有String变量是否不为null,如果它们为null,则应将其更改为字符串“NULL”。我可以使用反射遍历变量并获取它们的值。但是,如果我扩展我的类并添加私有(private)或什至protected变量,我的基类将无法访问它们。我必须先对变量进行setAccessible,然后才能使用它们。所以请向我解释为什么基类(父类(superc

Java:父类(super class)在某些条件下构造子类,可能吗?

我有这个条件publicclassA{publicaction(){System.out.println("ActiondoneinA");}}publicclassBextendsA{publicaction(){System.out.println("ActiondoneinB");}}当我创建B的实例时,该操作将只执行B中的操作,因为它会覆盖父类(superclass)的操作。问题是在我的项目中,父类(superclass)A已经被使用了太多次,我正在寻找一种方法,在某些条件下,当我创建A的实例时,它会检查它是否为真,用B替换自己。publicclassA{publicA(){i

java 8 : difference between class. getName() 和字符串文字

这个问题在这里已经有了答案:Javaswitchstatement:Constantexpressionrequired,butitISconstant(14个答案)关闭7年前。我正在研究switchcase。如果我们使用class.getName(),那么,我会收到“case表达式必须是常量表达式”的错误,如下所示:switch(param.getClass().getName()){caseString.class.getName()://todobreak;}即使我们执行以下操作,将字符串类名作为常量,然后也会出现相同的错误:publicstaticfinalStringPARA

Java 泛型,创建 Class<T> 的实例

我正在尝试编写一个通用方法来将json反序列化到我的模型中。我的问题是我不知道如何从泛型类型T中获取Class。我的代码看起来像这样(并且不会以这种方式编译)publicclassJsonHelper{publicTDeserialize(Stringjson){Gsongson=newGson();returngson.fromJson(json,Class);}}我尝试了其他方法来获取类型,但它抛出了一个错误,我将类设置为JsonHelper然后尝试这个ClasspersistentClass=(Class)((ParameterizedType)getClass().getGen

java - 如何检查作为 Class 对象的参数的 instanceof?

我正在尝试构建一个通用类加载器。我需要根据方法参数检查加载的类,以确定它们是否属于同一类。代码主要解释了我要做什么。privatestaticLinkedListloadObjectsInDirectory(Classclass0,Filedir)throwsClassNotFoundException{LinkedListobjects=newLinkedList();ClassLoadercl=newGenericClassLoader();for(Strings:dir.list()){Classclass1=cl.loadClass(s);try{Objectx=class1.

java - 子类是否继承父类(super class)的私有(private)实例变量

Dosubclassesinheritprivatefields?这个问题解决了同样的问题,但我不太明白它如何满足下面(看似)矛盾的情况。http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html表示“子类不继承其父类的私有(private)成员。”这意味着它既不继承私有(private)实例变量也不继承私有(private)方法,对吧?但是,如果它从其父级继承公共(public)访问器方法,这将如何工作?它返回一个它不知道存在的实例变量?此外,我的计算机科学书籍(Baron的APComputerScienceA)

java - (JAVA) 使用命令提示符从多个 .class 文件创建 .jar 文件

我编写了一个名为Main.java的.java文件,并使用Windows命令提示符中的javac对其进行了编译。编译器正在创建多个.class文件(称为Main.class、Main$1.class和Main$2.class——大概是因为我的Main.java文件中有匿名内部类)。我正在尝试创建一个可运行的.jar文件,这样我就可以双击快捷方式来运行这个应用程序(它是一个JavaSwing应用程序),但是当我导航到三个类文件的目录并键入时我没有成功:jarcfvfile.jarMain.classMain$1.classMain$2.class命令提示符然后输出此文本:addedman