Why use getters and setters/accessors?

What's the advantage of using getters and setters - that only get and set - instead of simply using public fields for those variables? If getters and setters are ever doing more than just the simple get/set, I can figure this one out very quickly, but I'm not 100% clear on how: public String foo; is any worse than: private String foo; public void setFoo(String foo) { this.foo = foo;

为什么使用getter和setter / accessors?

使用getter和setter的好处是 - 只有get和set - 而不是简单地为这些变量使用公共字段? 如果吸气人员和安装人员做的不仅仅是简单的get / set,我可以很快地把这个问题弄清楚,但是我并不十分清楚: public String foo; 比以下任何更糟糕的是 private String foo; public void setFoo(String foo) { this.foo = foo; } public String getFoo() { return foo; } 而前者采用的是更少的样板代码。 实际上有许多好的理由要考

Is there a goto statement in Java?

I'm confused about this. Most of us have been told that there isn't any goto statement in Java. But I found that it is one of the keywords in Java. Where can it be used? If it can not be used, then why was it included in Java as a keyword? The Java keyword list specifies the goto keyword, but it is marked as "not used". It was in the original JVM (see answer by @Vitalii

Java中有goto语句吗?

我对此感到困惑。 我们中的大多数人都被告知Java中没有任何goto语句。 但是我发现它是Java中的关键字之一。 它可以在哪里使用? 如果它不能被使用,为什么它被包含在Java中作为关键字? Java关键字列表指定了goto关键字,但它被标记为“未使用”。 它在原始JVM中(请参阅@VitaliiFedorenko的答案),但随后被删除。 它可能保留为保留关键字,以防将其添加到更高版本的Java中。 如果goto不在列表中,并且稍后将它添加到

gwt serialization policy hosted mode out of sync

When running my GWT application (gwt 2.0.4) in hosted mode, calling RPC methods running on remote Tomcat, I get GWT serialization exception: INFO: GwtRpcEventSrvc: ERROR: The serialization policy file '/84EC7BA65AF8175BAA99B47877FDE163.gwt.rpc' was not found; did you forget to include it in this deployment? SEVERE: GwtRpcEventSrvc: WARNING: Failed to get the SerializationPolicy '84EC7BA65AF8175

gwt序列化策略托管模式不同步

当以托管模式运行我的GWT应用程序(gwt 2.0.4),调用在远程Tomcat上运行的RPC方法时,我得到了GWT序列化异常: INFO: GwtRpcEventSrvc: ERROR: The serialization policy file '/84EC7BA65AF8175BAA99B47877FDE163.gwt.rpc' was not found; did you forget to include it in this deployment? SEVERE: GwtRpcEventSrvc: WARNING: Failed to get the SerializationPolicy '84EC7BA65AF8175BAA99B47877FDE163' for module 'http:

What buffering strategy should I use for my 2D scrolling map?

So, I'm creating a 2d top-down game in Java. I'm following instructions from Java 2D: Hardware Accelerating - Part 2 - Buffer Strategies to take advantage of hardware acceleration. Basically, what I'm thinking is this: I'd like to be able to easily add more sections to the map. So I'd rather not go the route suggested in a few of the tutorials I've seen (each map ti

我应该在2D滚动地图中使用什么缓冲策略?

所以,我正在用Java创建一个2D自上而下的游戏。 我遵循Java 2D指令:硬件加速 - 第2部分 - 缓冲策略来利用硬件加速。 基本上,我在想的是这样的: 我希望能够轻松地在地图中添加更多部分。 所以我宁愿不参加我见过的一些教程中提出的路线(每个地图图块都有一个周边图块的邻接列表;以中心图块开始,用广度优先搜索填充屏幕)。 相反,我的想法是屏幕大小的瓷砖集合(为了简单起见,例如32x32),并且这些屏幕“块”中的每

start/stop support?

Is there a way to start or stop a task scheduled using Spring Scheduled Tasks initialized using context file or @Scheduled annotation? I would like to start the task when required and stop it when the task is no longer needed to be run. If this is not possible, any alternative to injecting spring variables to a thread? Stopping registered @Scheduled beans is not standard feature since the a

开始/停止支持?

有没有办法启动或停止使用使用上下文文件或@Scheduled注释初始化的Spring Scheduled Tasks计划的任务? 我希望在需要时启动任务,并在任务不再需要运行时停止它。 如果这是不可能的,可以选择向线程注入弹簧变量吗? 停止已注册的@Scheduled Bean不是标准功能,因为在org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor访问它们是私人的。 如果您需要管理它们运行的​​时间,则需要以编程

Hudson style build reports on developer machines/within Eclipse

We use Hudson for our continuous integration which provides us with easy to browse build reports showing compiler warnings, unit test results and coverage (EMMA), pmd, checkstyle and findbugs violations. Although we each have the relevant plugins installed locally in Eclipse, it often seems easier to simply commit to SVN in order to trigger a Hudson build and generate a build report showing the

Hudson风格在Eclipse中的开发人员机器上构建报告

我们使用Hudson进行持续集成,为我们提供了易于浏览的构建报告,其中显示编译器警告,单元测试结果和覆盖率(EMMA),pmd,checkstyle和findbugs违规。 尽管我们每个人都在Eclipse中本地安装了相关插件,但为了触发Hudson构建并生成一个显示上述信息的构建报告,而不是使用每个插件进行检查,简单提交SVN似乎更容易。 有没有开发人员可以在本地安装(即可能是Eclipse插件)来生成类似的报告? 或者以某种方式使用Hudson来达

Running Selenium Tests through JUnit in Hudson

apologies for the somewhat confusing title :-) Basically, I've configured my Selenium tests to run through JUnit when I build the project through maven. If I start my Selenium Server in a command prompt and then run the maven build goal in another cmd prompt then the tests runs as expected. I figured that this process would be easy to implement in Hudson but it has proven quite problematic

在Hudson中通过JUnit运行Selenium测试

道歉有点令人困惑的标题:-)基本上,我配置我的Selenium测试通过JUnit运行,当我通过maven构建项目。 如果我在命令提示符下启动Selenium服务器,然后在另一个cmd提示符下运行maven构建目标,那么测试将按预期运行。 我认为这个过程在哈德森很容易实现,但它已被证明是相当成问题的。 我可以像以前一样启动我的硒服务器,然后配置构建通过哈德森作业启动。 但是,哈德森似乎并没有拿起硒服务器 - 我收到一条错误消息,其中说

How do I speed up the gwt compiler?

We're starting to make heavier use of GWT in our projects, and the performance of the GWT compiler is becoming increasingly annoying. We're going to start altering our working practices to mitigate the problem, including a greater emphasis on the hosted-mode browser, which defers the need to run the GWT compiler until a later time, but that brings its own risks, particularly that of not

我如何加速gwt编译器?

我们开始在我们的项目中更多地使用GWT,并且GWT编译器的性能变得越来越令人讨厌。 我们将开始改变我们的工作实践以减轻问题的发生,包括更加重视托管模式浏览器,这种浏览器推迟到稍后才运行GWT编译器,但这会带来它自己的风险,特别是直到比我们想要的晚得多,才能真正解决真正的浏览器问题。 理想情况下,我们希望让GWT编译器本身更快 - 编写一个相当小的应用程序的一分钟就会带来麻烦。 然而,我们正在使用编译,如果一

Examples of GoF Design Patterns in Java's core libraries

I am learning GoF Java Design Patterns and I want to see some real life examples of them. What are some good examples of these Design Patterns in Java's core libraries? You can find an overview of a lot of design patterns in Wikipedia. It also mentions which patterns are mentioned by GoF. I'll sum them up here and try to assign as many pattern implementations as possible, found in bo

Java核心库中的GoF设计模式示例

我正在学习GoF Java设计模式,我希望看到他们的一些真实生活的例子。 Java核心库中这些设计模式的一些很好的例子是什么? 您可以在Wikipedia中找到很多设计模式的概述。 它还提到GoF提到哪些模式。 我将在这里总结它们,并尝试尽可能多地分配模式实现,这些实现可以在Java SE和Java EE API中找到。 创造性模式 抽象工厂(可以通过创建方法识别返回工厂本身,这又可以用来创建另一个抽象/接口类型) javax.xml.parsers.

Side effects in Java methods

This might be a trivial question, but I need some clarification... There is a book called Clean Code that says that our methods should be small, preferably up to 5-10 lines long. In order to achieve that we need to split our methods into smaller ones. For instance, we may have someMethod() shown below. Let's say, modification of 'Example' takes 5 lines and I decide to move it into

Java方法中的副作用

这可能是一个微不足道的问题,但我需要澄清......有一本名为Clean Code的书说,我们的方法应该很小,最好长达5-10行。 为了实现这一点,我们需要将我们的方法分解成更小的方法。 例如,我们可能有someMethod()如下所示。 比方说,'Example'的修改需要5行,我决定将它移入一个单独的方法,修改'Example'并返回someMethod()。 通过这样做,someMethod()变得更小,更易于阅读。 这很好,但有一种叫做“副