【我可以在C中创建匿名类并捕获像Java中的外部变量吗?】教程文章相关的互联网学习教程文章

java-匿名类中的Lambda状态和不完善之处【代码】

我再次阅读,他记录了很多的Java为什么需要lambda表达式的原因State of Lambda布赖恩戈茨文件. 在其中一段中,他写道:Given the increasing relevance of callbacks and other functional-styleidioms, it is important that modeling code as data in Java be aslightweight as possible. In this respect, anonymous inner classes areimperfect for a number of reasons, primarily:Bulky syntax Confusion surrounding the mean...

如何在Java中引用匿名类实例?【代码】

我想知道是否有可能(以及如何)引用Java中的匿名类实例. 示例代码:final Handler handler = new Handler();handler.post(new Runnable() {@Overridepublic void run() {new Task() {@Overridepublic void onTaskFinish() {handler.post(?); // what should go here?}}.execute()} });解决方法:如果您也是JavaScript编码者,那么我敢打赌,您不需要问这个问题:)有一种简单的方法来实现您想要的功能(由于它周围的特殊语义,它恰好是一个...

Java和Kotlin内部/本地/匿名类之间有什么区别?【代码】

Java和Kotlin嵌套/内部/本地类之间的名称等效和主要区别是什么?解决方法:这些是等效的名称:| Kotlin | Java | |-------------------|-------------------------------------------| | Inner Classes | Non-Static Nested Classes / Inner Classes | | Nested Classes | Static Nested Classes | | Local Classes | Local Classes ...

如何将匿名类(不是实例)作为参数传递给期望Java中类型为Class的方法【代码】

我必须调用一个带有Class参数的方法:public action(Class<? extends SomeInterface> classVariable);我能够做到这一点:action(new SomeInterface() { // implement interface}.getClass());但是,我可以不实例化对象并调用getClass()而逃脱吗?解决方法:没有实例时如何访问anonymous class?您将需要一个名称以某种方式引用它,而该名称在定义上是没有的(请确保它在运行时具有一些编译器生成的名称,但要查询需要首先创建它,并且您必...

java – 现代JVM是否优化了简单的内联匿名类分配?【代码】

我今天得到了一个代码审查备注,将这个匿名类提取到一个字段中,以避免一遍又一遍地分配它:Collections.transform(new Function<Foo, Bar>(){Bar apply(Foo foo) {// do some simple local transform of foo into a Bar.} });我回答说“没关系,JVM优化它”.虽然我知道这个“优化”不会以任何方式影响性能,但我认为使代码可以内联访问的附加价值是值得的,我很好奇我是否对JVM优化是正确的.所以,我的问题是 – 它提议的重构绝对是一个...

我可以在C中创建匿名类并捕获像Java中的外部变量吗?【代码】

在Java中,当我需要一个回调函数时,我必须实现一个匿名类.在匿名类中,如果它们是最终的,我可以访问外部变量. 现在我在C中做同样的事情.我知道C lambda工作得更好但有时候我需要传递许多函数,其中有匿名类,我只需要传入一个实例. 我尝试了以下示例.它适用于GCC 4.3.4.class IA { public:virtual int f(int x) = 0; };int main() {class : public IA {int f(int x) { return x + 1; }} a;doFancyWork(&a);return 0; }有可能像这样捕...

java – 创建抽象类或匿名类的实例【代码】

在这段代码中,它是创建抽象类或匿名类的对象吗?请告诉我.我在这里有点困惑.public abstract class AbstractDemo {abstract void showMessage();abstract int add(int x,int y);public int mul(int x,int y){return x+y;}public static void main(String[] args) {AbstractDemo ad = new AbstractDemo() {@Overridevoid showMessage() {// TODO Auto-generated method stub}@Overrideint add(int x, int y) {// TODO Auto-generate...

java – RowMapper如何成为匿名类【代码】

我正在阅读Spring in Action,发现像这样的人可以解释我们如何使用RowMapper作为Anonymous类,如果它是一个根据RowMapper文档的接口.public Employee getEmployeeById(long id) {return jdbcTemplate.queryForObject("select id, firstname, lastname, salary " +"from employee where id=?",new RowMapper<Employee>() {public Employee mapRow(ResultSet rs,int rowNum) throws SQLException {Employee employee = new Employee();...

java – 如何从匿名类访问我的主类?【代码】

我以为我很清楚自己在做什么,但每当我觉得自己能够很好地掌握某些东西时,我就证明错了:) 有问题的代码就是这个@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mButton = (Button)findViewById(R.id.m_button); mButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(...

java – 匿名类的对象类型是什么【代码】

请查看下面的Java类:class A {public void doProcess(){System.out.println("Process from A class!");}}class B extends A {@Overridepublic void doProcess(){System.out.println("Process from B class!");}}我有2个课程,如上所示.如果我要做以下(匿名课程)new B() {@Overridepublic void doProcess(){System.out.println("Process from Anonymous class");} }我是否在创建B的新子类?或者它是B的一个实例? 我知道我可...

Java中强引用的类,用于匿名类【代码】

我想在我的Java代码中使用硬引用类,但是,当然,没有一个.有没有其他方法可以做我想要的,或者我应该自己上课? 这会在方法中提供匿名类,我希望匿名类设置方法的返回值. 例如,给定interface Greeting {void greet(); }我想要以下代码:// Does not compile static void hello(final String who) {String returnValue;Greeting hello = new Greeting() {public void greet() {returnValue = "hello" + who;}};hello.greet();System.out...

java – android:使用匿名类以编程方式创建单击侦听器【代码】

我看到一些通过设置onClick =“clickHandler”和clickable =“true”使TextView可单击的示例.有没有办法在活动中使用匿名类而不是硬编码“clickhandler”方法.解决方法:你去吧TextView tv = (TextView)findViewById(R.id.textview); tv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// do whatever stuff you wanna do here} });

java – Eclipse匿名类折叠

是否有一个折叠匿名类的Eclipse插件? 最好像Intellij的闭合折叠一样:http://blogs.jetbrains.com/idea/2009/03/closure-folding-in-intellij-idea-9-maia/ 我看过lambda4jdt,但它不支持更新版本的Eclipse.解决方法:在Eclipse Preferences中,选中“Inner types”作为最初折叠的元素: 影响: 最初显示为

java – GroovyScript匿名类中的字段访问【代码】

在Groovy 2.1.6脚本中我定义了一个字段:import groovy.transform.Field @Field String test = "abc";println "Script: ${test}"; def run = new Runnable() {void run() {println "Runnable0: ${test}";new Runnable() {void run() {println "Runnable1: ${test}";}}.run();} }.run();当从脚本中的匿名类(如here)访问它时,Groovy似乎尝试将此Field强制转换为Reference,并在定义Runnable后立即抛出以下异常:org.codehaus.groovy.r...

java – 将返回值传递给匿名类【代码】

我试图将调度任务的返回值传递给匿名类,但我遇到了麻烦.如果我将返回值设置为最终变量,则说它未初始化:/* Not initialized */ final BukkitTask task = Bukkit.getScheduler().runTaskTimer(plugin, new Runnable() {public void run() {/* irrelevant code */task.cancel();}}, 0L, 20L);我还尝试通过调用匿名类中的方法来传递变量,但是它将返回类型更改为void,因此我无法传递正确的值:BukkitTask temp = null; /* Returns void...

匿名 - 相关标签