我正在使用 Eclipse Kepler 开发我的 Java 项目。我创建了一个 vo 并向 vo 添加了一些属性。要为这些属性生成 getter 和 setter 方法,我右键单击其中一个属性并转到 “Source”,然后单击 “Generates Getters and Setters”。它向我展示了属性的可用 getter/setter 方法。下面是屏幕截图
正如您在上面的屏幕截图中看到的,Eclipse 为属性 sId 提供了 getter 和 setter 方法
public String getsId() {
return sId;
}
public void setsId(String sId) {
this.sId = sId;
}
get和set之后的第一个字母是小写字母(getsId and setsId)。
Eclipse 正在为属性 uid 创建所需的 getter 和 setter 方法。
我的观察是任何第二个字母大写(例如-sId:第一个字母(s)是小写和第二个字母( I) 大写)eclipse 正在生成以下格式的 getter 和 setter
get+property name
set+property name
但是如果属性的第二个字母是小写字母,eclipse 将生成以下格式的 getter 和 setter
get+1st letter in capital letter+ rest of the property name
set+1st letter in capital letter+ rest of the property name
即使属性的第一个字母是大写字母,eclipse 也会生成以下格式的 getter 和 setter
get+1st letter (which is already in capital) + rest of the property name
get+1st letter (which is already in capital) + rest of the property name
我不知道这是否是一个 Eclipse 错误(除了 Kepler,我还在 Eclipse Luna 中检查了相同的错误)但我想要属性 sId 的 getter 和 setter(第二个字母大写) 应该如下所示
get+1st letter in capital letter + rest of the property name
set+1st letter in capital letter + rest of the property name
Eclipse 中是否有任何选项可以修改 Eclipse 提供的默认 getter 和 setter 方法?
或者我无法使用任何设置修改Eclipse提供的默认getter和setter方法,我需要在eclipse生成后在源代码中手动修改。
最佳答案
There is a bug report为此,它不会被修复。在那里你可以看到讨论和决定的原因。
要点是,生成您想要的名称实际上会违反 Java Beans 规范,并且 Eclipse JDT 团队已决定遵守该规范比遵守某些约定更重要。你可以同意或不同意他们对那个重要决定的看法,但这是一个困难的第 22 条军规。
关于java - 修改Eclipse默认提供的getter和setter方法有哪些设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31610676/
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
这是在Ruby中设置默认值的常用方法:classQuietByDefaultdefinitialize(opts={})@verbose=opts[:verbose]endend这是一个容易落入的陷阱:classVerboseNoMatterWhatdefinitialize(opts={})@verbose=opts[:verbose]||trueendend正确的做法是:classVerboseByDefaultdefinitialize(opts={})@verbose=opts.include?(:verbose)?opts[:verbose]:trueendend编写Verb