Tag:

Java – 如何使用类文件?

我是Java新手,我想知道如何将类文件导入netbeans并使用它。 我知道类文件是机器可读的字节代码,但我不关心底层是怎么回事。 我只想将它导入到我当前的项目中并让它识别它以便我可以使用该类。 此外,类文件嵌入在JAR文件中。 我将JAR文件导入到项目窗口中的库文件夹/选项卡中,但我不知道如何让我的项目识别该类。 每当我尝试实例化一个对象时,它都会说“找不到符号”。

generics和类<? 扩展Enum >,EnumSet.allOf(class)vs class.getEnumConstants()

我有以下BeanValidation代码可以正常工作,并允许validation带有注释的bean: @EnumValue(enumClass = MyTestEnum.class) private String field; public enum MyTestEnum { VAL1, VAL2; } 仅当字段值为“VAL1”或“VAL2”时才会进行validation。 public class EnumNameValidator implements ConstraintValidator { private Set AVAILABLE_ENUM_NAMES; @Override public void initialize(EnumValue enumValue) { Class<? extends Enum> enumSelected = enumValue.enumClass(); Set<? extends Enum> enumInstances = Sets.newHashSet(enumSelected.getEnumConstants()); AVAILABLE_ENUM_NAMES = FluentIterable .from(enumInstances) .transform(PrimitiveGuavaFunctions.ENUM_TO_NAME) .toImmutableSet(); } @Override public boolean isValid(String value, ConstraintValidatorContext […]

在Java中给定Color对象获取相应的hex颜色代码的方法?

我已经检查了Color的Java类文档,发现我可以使用Color.decode();从hex代码字符串(eg “#FFFFFF”)生成一个Color对象Color.decode(); 方法。 我想为我正在处理的项目实现反向过程,但似乎没有为此类内置的方法。 是否有捷径可寻?

如何在不使用抽象的情况下强制实现子类中的方法?

我想强制子类实现我母类的实现方法。 我看这个Java – 强制实现一个已实现的方法,但我无法将我的母类转换为抽象类。 public class myMotherClass { myMethod { …some code .. } } public class myClass extends myMotherClass { myMethod { … other code … } } 所以,在这个例子中,我想强制myClass实现myMethod。 对不起我的英语不好…

公共领域有哪些替代方案?

我正在编写一个java游戏,并且作为问题标题建议我在我的类中使用公共字段。 (暂且) 从我所看到的公共领域是坏的,我有一些理解为什么。 (但如果有人可以澄清你为什么不使用它们,那将不胜感激) 事情是,从我所看到的,(并且似乎合乎逻辑)是使用私有字段,但使用getter和setter访问它们也不好,因为它首先打败了使用私有字段的点。 所以,我的问题是,有哪些替代方案? 或者我真的必须使用私人领域与吸气剂和二传手? 这里是我的一个类及其一些方法的参考。 如果需要,我会详细说明。 public double health; //The player’s fields. public String name; public double goldCount; public double maxWeight; public double currentWeight; public double maxBackPckSlts; public double usedBackPckSlts; // The current back pack slots in use public double maxHealth; // Maximum amount of health public ArrayList backPack = new ArrayList(); […]

是否可以通过类方法访问实例方法和变量

直到我在Oracle Doc上读到这个(类方法不能直接访问实例变量或实例方法 – 它们必须使用对象引用)我唯一知道的,关于实例方法和变量不能被类(静态)方法访问直。 当它说……他们必须使用对象引用时意味着什么? 这是否意味着我们可以使用类方法间接访问实例变量和方法? 先谢谢你。

在Eclipse中重新构建已删除的类文件

我不小心删除了我的项目中的.class(Java字节码)文件(在文件系统上,而不是使用Eclipse本身)。 容易修复,对吧? 只需重新构建它。 但这不起作用! 即使我从“项目”菜单中选择“构建项目”或“全部构建”或“自动构建”,文件系统上也没有实际发生任何事情,我仍然得到: Exception in thread “main” java.lang.NoClassDefFoundError 我只想从我已有的源代码重新编译它! 顺便说一下,当我从“Project”菜单中选择“Clean …”时,Eclipse也不会删除任何文件。 我也尝试将项目重新导入到不同的文件夹中,但Eclipse只复制所有.class文件,问题仍然存在。

javac根据赋值方法不同地处理静态final

当我编译: public static final boolean FOO = false; public static final void fooTest() { if (FOO) { System.out.println(“gg”); } } 我得到一个空方法fooTest() {} 。 但是当我编译时: static boolean isBar = false; public static final boolean BAR = isBar; public static final void fooTest() { if (BAR) { System.out.println(“gg”); } } if语句包含在已编译的类文件中。 这是否意味着java中有两种不同的“类型”静态final,或者这仅仅是编译器优化?

hasnext()如何在java中的集合中工作

程序: public class SortedSet1 { public static void main(String[] args) { List ac= new ArrayList(); c.add(ac); ac.add(0,”hai”); ac.add(1,”hw”); ac.add(2,”ai”); ac.add(3,”hi”); ac.add(“hai”); Collections.sort(ac); Iterator it=ac.iterator(); k=0; while(it.hasNext()) { System.out.println(“”+ac.get(k)); k++; } } } 输出:ai hai hi hw hai 怎么执行5次?? 虽然来到没有下一个元素存在所以条件错误。 但它是如何执行的。

实现接口的类列表

有没有办法实现类似的东西 List<Class> ClassList = new ArrayList<Class>(); 我的目标是从该列表创建一个hashmap,其中键是类的toString方法(在MyInterface中定义),值是类本身。 此类的每个对象的toString方法返回相同的结果。 这样我就可以通过搜索正确的字符串来使用地图创建类的实例。 谢谢你试图帮助,问候