Tag:

为什么访问说明符不能用于Java类中方法内声明的变量?

为什么我们不能对Java类中的方法内声明的变量使用访问说明符?

构造函数在Java中链接

我对构造函数链接程序的输出有轻微疑问,我在下面展示: class Cube { int length; int breadth; int height; public int getVolume() { return (length * breadth * height); } Cube() { this(10, 10); System.out.println(“Finished with Default Constructor of Cube”); } Cube(int l, int b) { this(l, b, 10); System.out.println(“Finished with Parameterized Constructor having 2 params of Cube”); } Cube(int l, int b, int […]

实用工具类 – 正确的方法是什么?

具有公共静态的所有方法的实用程序类的正确方法是什么。 我应该使用最终类还是抽象类? 请给出建议。 例如: public final class A{ public static void method(){ /* … */ } } 要么 public abstract class A{ public static void method(){ /* … */ } }

类是否有可能inheritance超类的注释

我正在使用Spring Framework事务注释进行事务管理,我有一个注释@Transactional的抽象类,如下所示: package org.tts.maqraa.service; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Set; import javax.persistence.EntityManager; import javax.persistence.EntityNotFoundException; import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContextType; import javax.persistence.Query; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Parts of this code have been copied from JARVANA site. * * @author Younis alomoush * */ @Transactional(propagation=Propagation.REQUIRED) public abstract class AbstractMaqraaService implements […]

如何检查java.lang.reflect.Type是否为Enum

我想检查java.lang.reflect.Type实例是否表示Emum对象。 我可以使用==比较来检查它是否是特定类的实例,例如: type == String.class // works 但这似乎不适用于Enum类: type == Enum.class // doesn’t work …这是有道理的,因为实例将是一个特定的枚举,但我想检查该类型是否适用于任何枚举。 有人可以向我解释如何判断Type是否是枚举请

动态加载具有不同包名称的java中的类

是否可以在Java中加载类并“伪造”类的包名称/规范名称? 我尝试这样做,显而易见的方法,但我在ClassDefNotFoundException得到一个“类名不匹配”的消息。 我这样做的原因是我正在尝试加载一个在默认包中编写的API,以便我可以直接使用它而不使用reflection。 代码将在表示包和包名称导入的文件夹结构中针对类进行编译。 即: ./com/DefaultPackageClass.class // … import com.DefaultPackageClass; import java.util.Vector; // … 我目前的代码如下: public Class loadClass(String name) throws ClassNotFoundException { if(!CLASS_NAME.equals(name)) return super.loadClass(name); try { URL myUrl = new URL(fileUrl); URLConnection connection = myUrl.openConnection(); InputStream input = connection.getInputStream(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); int data = input.read(); while(data != -1){ buffer.write(data); data = […]

Gradle – Groovy和Java类依赖 – 编译

我的项目有Java(N文件)和Groovy代码(仅1个文件)。 Java编译依赖于这个用于Java编译的单个Groovy文件的类文件(compileJava任务成功)。 当我不使用src / java作为main> groovy> sourceSet部分中的srcDir之一时,我得到一个错误,说明找不到类/符号,这是在groovy文件/类中。 在ANT中,我们很容易在调用compile-java目标之前首先调用compile-groovy目标,但Gradle中的相同内容正是我想要查找的内容。 我读了一些post,发现如果我将main> java section设为NULL并为main> java指定srcDir,这是src / java里面的main> groovy sourceSet部分,那么它编译得很好。 我的:1。还有其他办法吗? 例如,以下应该有效: compileJava { dependsOn compileGroovy } 但是,这是一个infinte循环。 要么 如何使用doFirst进行compileJava任务: compileJava { doFirst { compileGroovy } } 这也不起作用。 build.gradle这样可行 ,但是在某种意义上compileRava在这里变得无用,即使源代码有N否。 src / java或src / java-test等树中的java文件。 我知道这个构建脚本正在运行但从逻辑上讲,如果他/她不熟悉为什么源代码为Groovy必须将“src / java”作为其srcDir值,它可能会给开发人员带来一些困惑。 apply plugin: ‘java’ apply plugin: ‘groovy’ sourceSets { main { groovy […]

如何从Java中的类名获取类对象

我知道类名,说“MyClass”并想要检索Class对象,即。 MyClass.class以供将来参考。 有没有办法做到这一点? 我已经浏览了网页,但我发现的大部分内容都与ClassLoader ,我认为这不适合我的情况。 我不想初始化一个类,但只获取一个类对象以供将来使用。 编辑:关于这个的第一个答案: 我已经检查了forName()方法,但我认为这也应该初始化类。 现在我可以使用完整的参数调用它并将false传递给第二个参数,但第三个参数必须为null或者是什么? 将 Class.forName(“MyClass”, false, null); 返回MyClass.class ? 事实上,我想要做的是替换与Class对象关联的String ID数组,以及从中自动获取类对象的ID数组,以摆脱一些手动工作:) 感谢您的快速回答,并且抱歉之前没有提及此问题。

JarScan,扫描所有子文件夹中的特定类的所有JAR文件

虽然我们有最新的部署版本,但我们看到正在使用旧版本的类。 要扫描应用程序服务器的所有子文件夹中的所有JAR文件,我们如何编写一个小的shell脚本来打印出找到此特定类的JARS文件的文件名?

Java:Setter Getter和构造函数

我对使用getter / setter和构造函数感到有点困惑(参见下面的代码示例) public class ExampleClass { private int value = 0; public ExampleClass () { value = 0; } public ExampleClass (int i) { this.value = i; } public int getValue() { return value; } public void setValue(int val) { this.value = val; } public static void main(String[] args) { ExampleClass example = new […]