这是允许在java中:
for(int i=0;i<5;i++){
final int myFinalVariable = i;
}
Run Code Online (Sandbox Code Playgroud)
我的问题的关键字是final
.是否允许执行随循环的每次运行而变化的最终变量?我想知道这是因为最后说你不能改变变量的值(仅调用myFinalVariable = i
),但我正在重新定义整个变量final int
.
它们是两个完全不同的变量,只是具有相同的名称 - 从上一次循环运行的变量已经走向垃圾收集器的道路?
我有点等待这个问题的'不'答案.
我很感兴趣,如果你在if子句中检查变量时可以同时保存变量.
假设我有这个代码.
if(foo!=null){
if(foo.getBar()!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
} else {
System.out.println("Failure.");
}
Run Code Online (Sandbox Code Playgroud)
我现在处理"失败"状态 - 即使结果是相同的,也是独立的.我可以这样把他们聚在一起:
if(foo!=null && foo.getBar()!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
Run Code Online (Sandbox Code Playgroud)
已经有更简洁的代码了.如果foo为null,它将停在那里并且不会尝试foo.getBar(在if中)所以我不会得到NPE.我想要提升的最后一件事,主要问题是:我真的给过两次调用foo.getBar()吗?如果getBar()将是一个非常繁重的操作,那么离开第二个相同的调用将是很好的.所以我想知道是否有可能做一些与此类似的事情:
if(foo!=null && (Bar bar = foo.getBar())!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
Run Code Online (Sandbox Code Playgroud)
如果我愿意,我将不得不将其分解为两个不同的if
Bar bar = foo.getBar();
if (bar!=null) ...
Run Code Online (Sandbox Code Playgroud) 重新排列列表中元素的最佳方法是什么?我需要能够移动元素来移动列表中的元素,在索引中向后或向前一步.我正在考虑获取项目的索引,将其添加到索引-1/+2并删除旧的引用.
是否有更快的方法来处理重新排列而不在过程中的列表中创建重复项.
我正在尝试构建一个Hibernate Criteria查询来查找在集合中具有特定元素的实体.
我们可以举一个看起来像这样的Book -object:
public class Book {
private Long id;
private String title;
private Set<String> authors = new HashSet<String>();
}
Run Code Online (Sandbox Code Playgroud)
实体映射如下:
<class name="Book" table="Book">
<id name="id" column="BOOK_ID">
<generator class="native"/>
</id>
<property name="title"/>
<set name="authors" table="Book_Authors">
<key column="BOOK_ID"/>
<element type="string" column="AUTHORS"/>
</set>
</class>
Run Code Online (Sandbox Code Playgroud)
现在我想找出Matt写的是哪些书.使用纯SQL我可以执行如下查询:
String author = "Matt";
String query = "SELECT * FROM Book " +
"WHERE BOOK_ID IN " +
"(SELECT BOOK_ID FROM Book_Authors " +
"WHERE authors = :author )";
List<Book> result = session.createSQLQuery(query)
.addEntity(Book.class)
.setParameter("author", author) …
Run Code Online (Sandbox Code Playgroud) TL; DR:我可以说某种方式为{% include %}
一次生成内容而只是在多个地方标记它而不必在每个位置重新生成它吗?
我正在与Jekyll建立一个相当大的文档站点,现在它上面有50多篇文章.它有一个侧边栏,列出所有文章.侧边栏是在单独的sidebar.html中构建的,然后它{% include sidebar.html %}
在default.html中包含在网站的每个页面中.
我遇到的问题是每一篇文章都分别运行sidebar.html的生成,所以我对这段代码有50多代传递.我添加的每篇文章都添加了另一个传递,并使所有传递速度变慢,因为生成侧边栏必须解析项目中的每一篇文章.
建造时间已从基本上零上升到超过100秒,如果我移除它{% include sidebar.html %}
然后下降到5秒.当我得到所有文章时,我估计大约有100-200个文章.那么我将来会对所有文章进行版本控制,这意味着从长远来看,很容易就会有1000多篇文章.在这一点上,我不会感到惊讶,如果在一个文件中改变一个字母将采取类似一个小时再生文件jekyll serve
和jekyll build
.
我想要做的是在构建过程开始时构建sidebar.html,并在生成所述页面时将其标记到每个页面.这可能吗?
我很想测试Java世界中的新框架,并决定创建一个利用Maven和db4o的新项目.我开始对Maven感兴趣,但我很难将db4o作为项目的依赖项添加.第一个问题是官方Maven存储库中不存在db4o.接下来是db4o似乎最近重组了整个网站的URI的问题:s,所以当我尝试浏览他们的网站时,我总是收到"找不到网站"的消息.
我在什么地方找到一个潜在的Maven仓库,应该是在https://source.db4o.com/maven但我得到的所有时间"错误阅读原型目录https://source.db4o.com/maven无法在库中找到资源"当我试图访问它时.
那么,关于如何通过Maven获取db4o的任何建议?我通过Eclipse使用M2Eclipse插件管理Maven.
我想为我的 Vaadin 20 应用程序做自定义主题变体。为此,我将为可用的 Lumo CSS 变量提供自定义值,例如--lumo-base-color
和--lumo-primary-color
。问题是我找不到可用变量的广泛列表。
我的问题是:
我们在我们工作的项目中使用Trac作为任务管理工具.但是,Trac搜索可能不是最直观的搜索,我们最终会有多个重复,因为如果已经有记者无法有效找到他或她发现的问题的报告票.
Stack Overflow的"相关问题"概念很棒,效果很好!我想知道是否有人听说过一些类似于Trac的插件,或者你是否已经通过其他方式解决了这个问题.
java ×5
db4o ×1
dependencies ×1
final ×1
hibernate ×1
html ×1
if-statement ×1
include ×1
jekyll ×1
liquid ×1
list ×1
maven-2 ×1
repository ×1
trac ×1
vaadin ×1
vaadin-flow ×1
vaadin-lumo ×1