我正在使用Java 1.6.0_25.
我有一个定义的注释:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Resource {
String value();
}
Run Code Online (Sandbox Code Playgroud)
后来当我使用getAnnotation时:
Resource resource = (Resource)cls.getAnnotation(Resource.class);
Run Code Online (Sandbox Code Playgroud)
编译器和IDE同意我必须转换结果,但getAnnotation在Java 1.5文档中声明为:
public <A extends Annotation> A getAnnotation(Class<A> annotationClass);
Run Code Online (Sandbox Code Playgroud)
由于Resource.class是Class类型,在我看来这意味着cls.getAnnotation(Resource.class)应该返回类型Resource,我应该需要强制转换.
我使用getAnnotation找到的所有示例都没有强制转换,所以我一定做错了.
使用Rails 2.3.5,Ruby 1.8.7.
是否有任何插件可以让我更容易使我的"显示"和"编辑"和"新"页面具有相同的外观和感觉?我希望能够做以下类型的事情.现在,如果我向模型中添加一个字段,我必须将它添加到edit.html.erb和view.html.erb中.我希望能够相当广泛地指定外观,但我希望"编辑"和"显示"看起来相同(两者之间的例外,也许,但不是很多.)
有没有DRY工具呢?
基本上,我希望能够使我的"edit.html.erb"成为:
<% plugin_form_helper_for @model do |form_helper| %>
<%= render :partial => 'common_look', :locals => {:helper => form_helper} %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
和show.html.erb是:
<% plugin_show_helper_for @model do |show_helper| %>
<%= render :partial => 'common_look', :locals => {:helper => show_helper} %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
然后"form_helper"和"show_helper"将实现相同的接口(具有一些分支能力,使两者的布局/外观略有不同.)
我知道如何使这个代码工作,但我很好奇为什么编译器无法弄清楚调用是外部类方法:
public class Example {
public void doSomething(int a, int b)
{
}
public class Request
{
public int a;
public int b;
public void doSomething()
{
doSomething(a,b); // Error. Fix: Example.this.doSomething(a,b);
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更深层次的设计理由,而不是保护编码员犯错误?
(附录:这是Chrome问题631222,已在Chrome版本54.0中修复.*.)
使用Chrome的最新版本(53.0.2785.116),在Windows和Mac上,我们遇到了一个令人讨厌的错误,我们似乎无法解决这个问题.
我们正在寻求不涉及编辑HTML文本的解决方法,因此CSS或Javascript答案可能会这样做.
我们正在获取除第一个之外的页面顶部的文本:
这是段落的叠加,以及稍后在该页面上出现的表的两个不同的表头.(再次打印标题.)
当然,我们已经向谷歌报告了这一点,但我们想知道是否有人能想到让我们的客户再次打印的解决方法.我们无法更改HTML,但我们可以更改CSS,或者可能使用Javascript.(例如,删除thead标记似乎可以解决问题,但该解决方案对我们不起作用,因为我们无法更改HTML.)
代码很简单:
<!DOCTYPE html>
<html><head>
<title>Broken Printing</title>
</head>
<body>
<h1>Printing Issue 9/29/2016</h1>
<p>Lorem ipsum for page break</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p> …Run Code Online (Sandbox Code Playgroud)