问题标签 [anonymous-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7879 浏览

java - ArrayList.remove(int index) 不适用于非匿名类对象

ArrayList.remove(int index) 正在使用 ActionListener 类的匿名实例:-

删除模块.java:-

但是当我将它与原始模块集成时(下面是修改后的精简源代码,带有 DeleteFromPoolListener.class 的非匿名实例),它返回 false 以进行删除。我真的不知道为什么它不起作用。

演示.java

我真的很困惑为什么它不起作用...... :(

0 投票
6 回答
4645 浏览

java - Java/Android:匿名本地类与命名类

我想问一下使用匿名类与命名内部类的好习惯是什么?

我正在编写一个 Android 应用程序,其中包括许多 UI 元素(按钮、文本字段等)。对于他们中的许多人,我需要某种侦听器,因此在onCreate应用程序中,我有一堆非常小的匿名类,例如:

每个这样的匿名类都是 5 到 20 行大 - 足够小,非常适合Java™ 在 Nutshell书中的建议:

一般来说,如果出现以下情况,您应该考虑使用匿名类而不是本地类:

  • 班级的身体很短。
  • 只需要该类的一个实例。
  • 该类在定义后立即使用。
  • 类的名称不会使您的代码更容易理解。

但是,IMO 的问题在于,它onCreate变得相当大,并且通过快速查看代码变得更复杂,难以阅读和理解。它仍然很容易理解,但是太大了。

那么在这种情况下有什么更好的做法 - 有一堆小的内部子类,每个子类都很好地分开,但只使用一次或更好地继续使用匿名类?

0 投票
5 回答
516 浏览

java - 组织回调的首选方式是什么?

在我的 Android 项目中,我定义了一些回调来操作按钮单击、连接事件或 UI 事件,例如 Dilaog.onShow()。出于演示目的,我选择了一个必须从一些 Activity 代码启动的 Runnable 接口。使用 Java,我有不同的方式来表达自己。

一种模式是使用匿名类

另一个 - 定义一个内部私有类,即

还有一个 - 使用私人成员,如下所示:

这是我最喜欢的另一个,因为一方面它实际上不会构造对象,除非有人真正使用它,因为它避免了额外的类,因为它可以在需要时接受参数。

我不是在寻找品味或宗教信仰的论据,而是代码的可维护性和性能。我希望收到可以帮助我发展自己的偏好的提示和建议,可能 - 根据给定情况的不同偏好。

剧透:

Java 的进步已经使这个问题过时了,​​请参阅接受的答案。

0 投票
1 回答
460 浏览

java - 使用 Spring 匿名/回调类进行数据持久性的困难时期

我正在尝试适应 Spring JDBC,但是我的错误是使用这些匿名类,我们不能传递任何局部变量,除非它们是最终的,这可能很容易安排,但是如果我需要循环数组或集合呢? ? 我不能将“FedModel fm”声明为最终的,因为它在循环中重新初始化,但我需要调用执行方法 100 次。这是我遇到问题的具体场景,因为我不知道如何将 BLOB 插入数据库。

我唯一能想到的就是创建一个静态嵌套类,它扩展 AbstractLobCreatingPreparedStatementCallback 并为 fedModels 添加构造函数,以便我可以在里面进行循环。但是只使用 JDBC 会更容易。

0 投票
3 回答
7070 浏览

java - 不能引用非最终变量

我正在尝试在 Java 中创建简单的 GUI 程序,但找不到正确的错误解决方案,无法引用以不同方法定义的内部类中的非最终变量。

到目前为止,这是我的小代码;

也许我的方法是完全错误的。我想做的是;我想创建一组按钮,并说当用户按下按钮时,我想显示一条消息,例如“你按下了按钮 4”或“你按下了按钮 10”。

0 投票
2 回答
1152 浏览

scala - Scala 匿名类类型不匹配

我正在创建一个包含对象的列表Comparable,并希望创建一个作为列表最小值的对象,以便它始终为其compareTo方法返回 -1。列表中的其他方法,例如print此处需要输入 A 类型。如果我编译代码,则会收到以下错误:

任何人都知道如何创建这样一个最小元素,使其始终小于列表中的任何其他元素?

0 投票
1 回答
205 浏览

c# - 我可以从匿名类中定义数组或列表吗?

我可以从匿名类中定义数组或列表吗?

像这样:

0 投票
1 回答
590 浏览

java - Java:匿名类作为现有实现接口的子类?

我有interface IA和。interface IB extends IAclass A implements IA

A现在我想创建一个匿名类,它从IB.

那会是什么样子?我想过这样的事情:

或者:

还是不可能创建类似的东西作为匿名类?

0 投票
6 回答
45327 浏览

java - 我们可以创建接口的对象吗?

结果是什么?

A. 测试
B. null
C. 运行时抛出异常。
D. 由于第 1 行错误,
编译失败。 E. 由于第 4 行错误,
编译失败。 F. 由于第 5 行错误,编译失败。

这个问题的答案是什么,为什么?我对这个问题还有一个疑问。在第 4 行中,我们正在创建 A 的对象。是否可以创建接口的对象?

0 投票
4 回答
559 浏览

scala - Scala编译器说我的方法是递归的,以防使用隐式和匿名类

我希望能够编写类似的代码

所以我想我可以用隐式来做到这一点。

当我在 Scala REPL 中执行以下代码时,它被正确定义

但是,当我尝试编译时,

它失败并出现错误

有什么区别?我究竟做错了什么?