从不是getter/setter方法的对象方法中访问对象属性的"纯粹"或"正确"方法是什么?
我知道从对象外面你应该使用一个getter/setter,但是你可以从内部做到:
Java的:
String property = this.property;
Run Code Online (Sandbox Code Playgroud)
PHP:
$property = $this->property;
Run Code Online (Sandbox Code Playgroud)
或者你会这样做:
Java的:
String property = this.getProperty();
Run Code Online (Sandbox Code Playgroud)
PHP:
$property = $this->getProperty();
Run Code Online (Sandbox Code Playgroud)
请原谅我,如果我的Java稍微关闭,那我用Java编程已经有一年...
编辑:
似乎人们假设我只讨论私有或受保护的变量/属性.当我学习OO时,我被教导为每个属性使用getter/setter,即使它是公开的(实际上我被告知永远不会公开任何变量/属性).所以,我可能会从一开始的错误假设开始.似乎回答这个问题的人可能会说你应该拥有公共财产,并且那些不需要吸气剂和制定者,这与我所教的内容相违背,以及我所谈论的内容,尽管可能需要讨论好.虽然这可能是一个不同问题的好主题......
在尝试学习更多有关正则表达式的内容时,教程建议您可以使用它\b来匹配单词边界.但是,Python解释器中的以下代码段无法按预期工作:
>>> x = 'one two three'
>>> y = re.search("\btwo\b", x)
Run Code Online (Sandbox Code Playgroud)
它应该是一个匹配对象,如果匹配任何东西,但它是None.
是\b不是在Python支持或正在使用它错了,我的表达?
我使用Java编程比使用C++或C变得越来越自在.我希望能够了解使用JVM解释器所产生的性能损失,而不是本机执行相同的"项目".我意识到这里有一定程度的主观性; 该计划的质量将在很大程度上取决于良好的实施.我对一般意义上的以下几个方面感兴趣:
使用解释器时必须有一些开销基线.是否有一些一般的经验法则要记住?10%15%?(我凭空掏出这些数字)我偶尔读过一篇博客,说Java代码几乎和本机代码一样快,但我认为这可能有偏见.
JVM垃圾收集器是否会为运行时性能增加大量开销?我知道Cocoa应用程序已经开始使用垃圾收集模型,我同意它使编程变得更简单,但代价是什么?
从Java进行系统调用的开销是多少?例如,创建Socket对象而不是C套接字API.
最后,我回想一下JVM实现是单线程的.如果这是真的(我对此持怀疑态度),这是否意味着Java线程真的不是真正的线程?通常,java线程是否对应于底层内核提供的线程?Java应用程序是否与本机应用程序来自多个核心/多个CPU的方式相同?
任何了解JVM和Java程序性能错综复杂的开发人员的建议都将非常感激.谢谢.
在netbeans中调试java程序时,我希望调试器停在导致NullPointerException的行上,这样我就可以检查那里的变量.我相信我必须在该行设置的断点处使用条件,但条件的语法是什么?
谢谢您的帮助
我正在尝试使用jstl处理列表.我想以不同于其他元素的方式处理列表的第一个元素.也就是说,我只希望第一个元素将显示设置为阻止,其余部分应该被隐藏.
我所拥有的东西似乎臃肿,不起作用.
谢谢你的帮助.
<c:forEach items="${learningEntry.samples}" var="sample">
<!-- only the first element in the set is visible: -->
<c:if test="${learningEntry.samples[0] == sample}">
<table class="sampleEntry">
</c:if>
<c:if test="${learningEntry.samples[0] != sample}">
<table class="sampleEntry" style="display:hidden">
</c:if>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用我在iOS应用程序中编译自己的库.该库是Tesseract OCR库.似乎编译(及其依赖)已经好了.
但是,当我尝试在我的应用程序项目中链接此lib时,该应用程序无法链接.链接错误让我感到惊讶; 好像Tesseract找到相当标准的C++东西有问题.
关于我可能做错的任何建议都会有所帮助.
这是我看到的那种链接错误的片段.
Undefined symbols for architecture armv7:
"std::string::find_last_of(char const*, unsigned long) const", referenced from:
tesseract::WordSizeModel::Init(std::string const&, std::string const&) in libtesseract.a(word_size_model.o)
"std::string::find_first_of(std::string const&, unsigned long) const", referenced from:
tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in libtesseract.a(cube_utils.o)
"std::string::find_first_not_of(std::string const&, unsigned long) const", referenced from:
tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in libtesseract.a(cube_utils.o)
"std::string::data() const", referenced from:
tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in libtesseract.a(cube_utils.o)
"std::string::find(char, unsigned long) const", referenced from:
tesseract::TessLangModel::IsLeadingPunc(int) in libtesseract.a(tess_lang_model.o)
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个Java框架来帮助一些特定于图像的数据挖掘.我们有一组历史图像,我想分类和分类.我希望找到像weka http://www.cs.waikato.ac.nz/ml/weka/或Marsyas http://marsyas.sness.net这样的东西,但更具体的是筛选图像数据以找到模式.有什么建议?
在部署我的Spring/Hibernate应用程序时,我收到以下与日志记录相关的警告:
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)
让我感到惊讶的是Google/SO搜索缺乏信息.唯一相关的是使用tomcat 6在Spring webapp中设置Commons Logging/Log4j的 SO 问题
然而,这甚至超出了我.有人可以在这里澄清游戏中的日志记录系统,或者指向我关于这个问题的最新资源(有一些古老的谷歌搜索结果并不真正适用).具体来说,我正在努力解决的问题是:
commons-logging,log4j,slf4j和JCL之间的区别.我的理解是slf4j是一个包装器,而commons-logging和log4j是实际的实现.我不知道JCL适合哪里.
如何配置Spring的日志记录.在web.xml文件中,我需要log4j.properties文件还是log4j.xml文件?它在哪里,在WEB-INF?我的applicationContext.xml文件中有什么内容吗?(对不起,我需要从零开始).
我在我的项目中使用Hibernate,包括通过Maven.似乎Hibernate使用slf4j-simple.我看到警告说我不能在类路径上有slf4j-simple和slf4j-log4j.我没有将slf4j-log4j作为依赖项包含在内,但Hibernate必须包含它.我该如何解决这个问题?我可以强制Hibernate使用log4j吗?
任何帮助将不胜感激.谢谢.
谢谢你到目前为止的所有答案.我试试这些建议.具体来说,春季网络应用程序呢?我已经看到了侦听器和参数的示例以及诸如未放入web.xml文件的内容.这还需要吗?
我试图在我的Mac上深入研究一些x86汇编程序,但是在生成可执行文件时遇到了麻烦.这个问题似乎处于联系阶段.
helloWorld.s:
.data
HelloWorldString:
.ascii "Hello World\n"
.text
.globl _start
_start:
# load all the arguments for write()
movl $4, %eax
movl $1, %ebx
movl $HelloWorldString, %ecx
movl $12, %edx
# raises software interrupt to call write()
int $0x80
# call exit()
movl $1, %eax
movl $0, %ebx
int $0x80
Run Code Online (Sandbox Code Playgroud)
组装程序:
as -o helloWorld.o helloWorld.s
Run Code Online (Sandbox Code Playgroud)
链接目标文件:
ld -o helloWorld helloWorld.o
Run Code Online (Sandbox Code Playgroud)
我在这一点上得到的错误是:
ld: could not find entry point "start" (perhaps missing crt1.o) for inferred architecture x86_64
Run Code Online (Sandbox Code Playgroud)
关于我做错了/遗失的任何建议都会非常有帮助.谢谢
我正在尝试从文本文件中读取数据,清除它,然后使用fstream该类按顺序写入它.
我的问题是如何在阅读后清除文件.我知道我可以打开一个文件并同时清除它,但是我可以在流上调用一些函数来清除它的内容吗?