问题内容: 我有一个内部类,用于存储用于游戏的控件的信息,现在我想在其中存储一个静态ArrayList,其中包含控件的所有名称。但我收到此错误:“仅在常量变量声明中允许使用修饰符静态” 现在,我知道可以通过将ArrayList移出类并将其存储在主类中来轻松解决。但是我宁愿将所有信息都放在一个类中,以便我可以访问所有内容。 “ Control.key,Control.trigger,Control.
问题内容: 在Java中声明大小为n的数组的运行时间是多少?我想这将取决于是否在垃圾回收中将内存清零(在这种情况下,内存可能为O(1))或在初始化时(这种情况下,内存必须为O(n))。 问题答案: 是。考虑以下简单程序: 生成的字节码为: 要看的指令就是指令(只需搜索)。从VM规范: 从垃圾收集堆中分配一个新数组,该数组的组件类型为type且长度计数。对该新数组对象的引用arrayref被推入操作
问题内容: 我有一个位图: 但我不会将图像显示给用户。我希望Alpha为100(总共255)。如果这不可能,我可以设置透明度吗? 问题答案: 您也可以尝试使用BitmapDrawable代替。如果这对您有用,则取决于您使用位图的方式… 编辑 正如评论者所问的那样,他如何使用alpha存储位图,下面是一些代码:
问题内容: 我对Java开关有一个疯狂的问题。 方案1-当为2时,它成功地将值打印为2。 方案2-当我要在其中注释时,saying地说 “本地变量值可能尚未初始化” 。 问题: 场景1:如果执行流程没有转到(当时),那么它如何知道value变量的类型为? 方案2:如果编译器将value变量的类型识别为,则它必须已访问。(声明和初始化)中的表达式。那为什么它会吱吱作响?当我要发表评论时,说 本地变量
问题内容: 我一直在网上搜索此信息,但没有找到任何体面的帮助。 我有一个BufferedImage,已与ImageIO一起阅读。现在,我想使该图像中的某种颜色变为透明,然后将图像另存为PNG。 我知道出于明显的原因我不能仅仅“绘制”透明颜色,所以我猜我需要某种过滤器。 有人为此提供了一些示例代码吗? 问题答案: 我最近这样做是为了回答我的项目经理的问题。 将灰色转换为透明的功能是: 实际上,它作用
问题内容: 有没有一种方法可以声明Java中的unsigned int? 或也可以这样构想这个问题:Java的unsigned等同于什么? 只是为了告诉你上下文,我正在查看Java的实现。我想测试整数是否为32 unsigned int时发生冲突的可能性。 问题答案: Java没有无符号整数的数据类型。 如果需要存储较大的值long,则可以定义一个,而不是一个。 你也可以使用带符号的整数,就好像它
问题内容: 该主题充分说明了这一点-为什么不能在接口中声明静态方法的原因是什么? 上面的代码给了我以下错误(至少在Eclipse中):“接口方法ITest.test()的非法修饰符;仅允许public&abstract”。 问题答案: 这里有一些问题。第一个问题是声明静态方法而不定义它的问题。这是之间的区别 和 由于Espo提到的原因,第一个是不可能的:你不知道哪个实现类是正确的定义。 Java
问题内容: 我希望这些对象在main中声明的所有对象中仅在数组中打印一次随机名称。我的问题是,它将显示两次或更多次的名称。 在我有这些对象 问题答案: 如果要将名称分配保留在Fighter类中,请使用静态变量来保存使用过的名称列表。您需要确保您创建的战斗机没有超过名称数组。否则,它将无限期地循环。我将由您自己决定这一部分。这至少应该使您走上正确的道路。
问题内容: 假设我有一个我没有源代码的库(或者它是用某种尚未意识到模块的非Java语言编写的)。没有,我不想将其用作自动模块,所以我想注入它。 我首先使用以下命令生成: 假设这生成了这样的内容: 然后,我尝试编译它,但是由于软件包和不存在而失败: 当然,我可以创建目录并在其中创建虚拟类,但是有更好的方法吗? 问题答案: 是的,使用该选件是可能的。此选项最常在运行时使用,但在编译时也可以使用:
问题内容: 打破并继续Java中标记语句的唯一用法吗? 您何时在程序中使用了标签语句? 抱歉,该代码段已删除。 我正在拆分问题 问题答案: [JLS 14.7带标签的语句](https://docs.oracle.com/javase/specs/jls/se14/html/jls-14.html#jls-14.7) (为清楚起见进行了编辑) 语句 可能具有标签前缀( Identifier : S
问题内容: 我需要一个与Java方法声明匹配的正则表达式。我想出了一个将与方法声明匹配的方法,但是它要求方法的左括号与声明在同一行。如果您对改善我的正则表达式有任何建议,或者只是有更好的建议,请提交答案。 这是我的正则表达式: 对于那些不知道Java方法是什么样子的人,我将提供一个基本的方法: java方法也可以添加几个可选部分,但是这些是保证方法唯一的部分。 更新:我当前的Regex是为了防止M
问题内容: 我试图使代码更具可读性,所以我决定使用一些简短的IF语句。 这是我的无效代码(“不是声明”): 这怎么了 需要括号吗?哪里? 问题答案: “三元表达式” 只能用于条件 赋值 。也就是说,您可以执行以下操作: 因为三元表达式返回的东西(在此示例中为类型)。 它并不是真的打算用作短的,在线的。特别是,如果各个部分不返回值或返回不兼容类型的值,则不能使用它。(因此,如果两个方法都碰巧返回相同
问题内容: 以下代码令人惊讶地成功编译: 这个也是: 但这失败,并出现预期的错误: 用括号将第二个示例修改也失败: 它是Java编译器中的错误,还是我不知道的类型推断规则? 问题答案: 首先,值得一看的是什么。从文档中: 表示一个 接受单个输入参数且不返回结果的操作 。与大多数其他功能接口不同,消费者应该通过副作用来操作。 因此,它是一个接受字符串且不返回任何内容的函数。 成功编译,因为可以使用S
问题内容: 有时,当我在Eclipse中调试代码时,虽然我可以毫无困难地查看和检查类成员变量,但是却无法检查在函数中本地声明的变量的值。顺便说一句,当前函数的任何参数都将丢失其“真实”名称,而是将其在“变量”窗口中列出的值视为arg0,arg1,arg2等,但至少这些值是可见的。 目前,这与核心JDK中定义的类有关。我已验证安装的当前JRE是JDK。 有人能阐明这种行为吗? 问题答案: 显然,答案
问题内容: 是否应该在Java接口中的方法声明带有或不带有access修饰符? 当然,从技术上讲,这并不重要。实现an的类方法始终为。但是什么是更好的约定? Java本身与此不一致。例如参见vs. 或vs .。 问题答案: 该JLS了这一点: 允许(但不鼓励使用样式)为接口中声明的方法重复指定and /或修饰符。