Tag: java

Java中的静态初始化器

我的问题是关于static关键字的一个特定用法。 可以使用static关键字来覆盖不属于任何函数的类中的代码块。 例如下面的代码编译: public class Test { private static final int a; static { a = 5; doSomething(a); } private static int doSomething(int x) { return (x+5); } } 如果你删除static关键字,它会抱怨,因为variablesa是final 。 但是可以删除final和static关键字并进行编译。 这两个方面让我感到困惑。 我应该如何有一个不属于任何方法的代码部分? 怎么可能调用它? 一般来说,这种用法的目的是什么? 或者更好,我在哪里可以find有关这方面的文档?

Maven:通过相对path将依赖项添加到jar

我有一个专有的jar,我想添加到我的pom作为依赖。 但我不想将其添加到存储库。 原因是我希望我的通常的maven命令,如mvn compile等,以开箱即用。 (不要求开发者a自己将其添加到某个仓库)。 我希望jar在源代码控制的第三方库中,并通过pom.xml文件的相对path链接到它。 可以这样做吗? 怎么样?

使用Android开发工具v。23更新Eclipse

我用新的SDK工具(修订版23)更新了Eclipse,但现在Eclipse启动时收到错误: 此Android SDK需要Android Developer Toolkit版本23.0.0或更高版本。 当前版本是22.6.3.v201404151837-1123206。 请更新ADT到最新版本。 没有更新与“检查更新” 。 如果我尝试“安装新软件” ,我可以看到版本23,但由于以下错误,我无法升级: Cannot complete the install because of a conflicting dependency. Software being installed: Android Development Tools 23.0.0.1245622 (com.android.ide.eclipse.adt.feature.feature.group 23.0.0.1245622) Software currently installed: Android Developer Tools 22.2.1.v201309180102-833290 (com.android.ide.eclipse.adt.package.product 22.2.1.v201309180102-833290) Only one of the following can be installed at once: ADT Package 22.6.3.v201404151837-1123206 (com.android.ide.eclipse.adt.package 22.6.3.v201404151837-1123206) ADT Package […]

如何将本地jar文件添加到Maven项目?

如何直接在我的项目的库源代码中添加本地jar文件(还不是Maven仓库的一部分)?

你什么时候使用Builder模式?

使用Builder模式的一些常见的 真实世界的例子是什么? 它是什么给你买的? 为什么不使用工厂模式?

variables,对象和引用之间有什么区别?

到底什么是variables , 对象和引用之间的区别? 例如:它们都指向某种types,并且它们都必须具有值(除非有临时的无效types),但是它们的function和实现又是如何不同? 例: Dog myDog = new Dog(); //variable myDog that holds a reference to object Dog int x = 12; //variable x that hold a value of 12 他们有相同的概念,但他们有什么不同呢?

获取java.lang.VerifyError的原因

我正在研究下面的java.lang.VerifyError java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMonthData signature: (IILjava/util/Collection;Ljava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageRe˜̴MtÌ´MÚw€mçw€mp:”MŒŒ at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) at java.lang.Class.getConstructor0(Class.java:2671) 它发生在部署servlet的jboss服务器启动时。 它是用jdk-1.5.0_11编译的,我试着用jdk-1.5.0_15没有成功的重新编译它。 这是编译运行良好,但部署时,发生java.lang.VerifyError。 当我改变方法名称,并得到以下错误: java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMD signature: (IILjava/util/Collection;Lj ava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageResources┬á├ÿ├àN|├ÿ├àN├Üw┬Çm├ºw┬ÇmX#├ûM|X├öM at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357 at java.lang.Class.getConstructor0(Class.java:2671) at java.lang.Class.newInstance0(Class.java:321) at java.lang.Class.newInstance(Class.java:303) 你可以看到更多的方法签名显示。 实际的方法签名是 private PgasePdfTable getMonthData(int month, int year, Collection dayTypes, Collection calendarDays, HashMap bcSpecialDays, Collection activityPeriods, Locale […]

为什么128 == 128返回false但是127 == 127在转换为Integer包装器时返回true?

class D { public static void main(String args[]) { Integer b2=128; Integer b3=128; System.out.println(b2==b3); } } 输出: false class D { public static void main(String args[]) { Integer b2=127; Integer b3=127; System.out.println(b2==b3); } } 输出: true 注意:-128到127之间的数字是正确的。

doGet和doPost在Servlets中

我开发了一个将信息发送给Servlet的HTML页面。 在Servlet中,我使用了doGet()和doPost() : public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String id = req.getParameter("realname"); String password = req.getParameter("mypassword"); } public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String id = req.getParameter("realname"); String password = req.getParameter("mypassword"); } 在调用Servlet的html页面代码中: <form action="identification" method="post" enctype="multipart/form-data"> User Name: <input type="text" name="realname"> Password: <input type="password" name="mypassword"> […]

如何在Java中填充string?

有没有一些简单的方法来填充Java中的string? 似乎应该在一些类似StringUtil的API中,但我找不到任何这样做。