在线:
private boolean someFlag;
Run Code Online (Sandbox Code Playgroud)
我收到以下PMD警告:
发现非瞬态,非静态成员.请标记为瞬态或提供访问者.
有人可以解释为什么这个警告在那里,它意味着什么?(我明白如何解决它,我不明白为什么它在那里......)
我在许多其他成员声明中也得到了这个......
编辑:我的类绝对不是一个bean,而不是可序列化的......
考虑Java中的以下接口:
public interface I {
public final String KEY = "a";
}
Run Code Online (Sandbox Code Playgroud)
以下课程:
public class A implements I {
public String KEY = "b";
public String getKey() {
return KEY;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么A类可能出现并覆盖接口I的最终常量?
试试自己:
A a = new A();
String s = a.getKey(); // returns "b"!!!
Run Code Online (Sandbox Code Playgroud) 你如何在Django中定义一个特定的顺序QuerySet
?
具体来说,如果我有QuerySet
这样的话:['a10', 'a1', 'a2']
.
定期订购(使用Whatever.objects.order_by('someField')
)会给我['a1', 'a10', 'a2']
,而我正在寻找:['a1', 'a2', 'a10']
.
定义我自己的排序技术的正确方法是什么?
Python的Zen说明确比隐含更好.
然而,检查集合c的空虚的Pythonic方法是:
if not c:
# ...
Run Code Online (Sandbox Code Playgroud)
并检查集合是否为空是这样的:
if c:
# ...
Run Code Online (Sandbox Code Playgroud)
任何可以有"zeroness"或"空虚"(元组,整数,字符串,无等)的东西同上
这样做的目的是什么?如果我不这样做,我的代码会变得更加困难吗?或者它是否会启用更多用例(即:某种多态),因为人们可以覆盖这些布尔强制?
作为一个小小的项目,我开始为我所属的某个组织建立一个新网站,当前网站已经过时了.
我经常是一名Java开发人员,上次我真的做了一些网络开发,早在90年代后期,当时<p>
仍然比<div>
Javascript 更受欢迎,而Javascript是最先进的技术(JQuery现在是懒惰的流氓:)).
无论如何,我觉得真的过时了.该网站基本上将是:
我的问题是设计整个事情.我找到了一些很好的基于Web的CSS布局生成器让我走了,但我仍然觉得我在浪费时间来平滑CSS文件并对齐<div>
s.
是否有任何工具 - 更简单,更快,更好 - 您建议我可以使用它来加速网站的设计部分,以便我可以专注于真正的工作?
我不需要任何花哨的东西,只是一个漂亮的布局和设计,我可以调整一点,以便网站看起来很漂亮.
考虑一下:
public class TestClass {
private String a;
private String b;
public TestClass()
{
a = "initialized";
}
public void doSomething()
{
String c;
a.notify(); // This is fine
b.notify(); // This is fine - but will end in an exception
c.notify(); // "Local variable c may not have been initialised"
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白."b"永远不会被初始化,但会产生与"c"相同的运行时错误,这是一个编译时错误.为什么局部变量和成员之间存在差异?
编辑:让会员私密是我最初的意图,问题仍然存在......
我有这个简化的模型:
class Item(models.Model):
name = models.CharField(max_length=120)
class ItemImage(models.Model):
image = models.ImageField(upload_to='upload_dir')
item = models.ForeignKey(Item)
Run Code Online (Sandbox Code Playgroud)
一个Item
可以有很多ItemImages
.我还有一个模板从视图中呈现以下数据集:
items = Item.objects.all()
Run Code Online (Sandbox Code Playgroud)
所以现在我想在模板中做这样的事情:
{% for item in items %}
<div>
{{ item.name }}<br>
<img src="{{ item.itemimage_set.all()[0] }}">
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但显然这是不可能的.至少不是直接来自模板.
获取模板中第一个图像的正确方法是什么?
我一直在查看氮计划,它应该是Erlang最成熟的Web开发框架.
Erlang作为一种语言,令人印象深刻.然而,关于氮,我不太热衷于使用Erlang的相当不常见的语法(除非你是PROLOG中的本地语言)来构建UI.
与其他主流 Web框架(如Django或Rails)相比,您对它的体验是什么?
在代码文档方面,通常认为代码应该自行解释,内联代码文档(不包括公共API文档)应该只解释元代码问题,例如变通方法,为什么选择特定实现的解释等等.
如何使您的代码更具可读性并更多地解释自己?
考虑一下这个简单的Hibernate场景:
session = getHibernateSession();
tx = session.beginTransaction();
SomeObject o = (SomeObject) session.get(SomeObject.class, objectId);
tx.commit();
Run Code Online (Sandbox Code Playgroud)
此代码生成以下异常:
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:100)
at com.bigco.package.Clazz.getSomeData(Clazz.java:1234)
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?