Tag: 参数

Java枚举与静态常量

我正在研究一些由公司其他部门维护的Java代码,偶然是一些以前的C和C ++开发人员。 无处不在的一件事是使用静态整数常量,例如 class Engine { private static int ENGINE_IDLE = 0; private static int ENGINE_COLLECTING = 1; … } 除了缺乏“最终”限定符之外,我对这种代码感到有点困扰。 我希望看到的是,从学校主要用Java培训,会更像是 class Engine { private enum State { Idle, Collecting }; … } 然而,争论使我失望。 为什么,如果有的话,后者比前者更好?

struts 2动作没有setter getter

我想为来自用户界面的数据创建一个没有setter和getter属性的动作类。 相反,我想在我自己的构建器类中使用ServletActionContext.getRequest().getParameterMap()来构造对象。 我创建了没有属性的Action类。 当我提交我的表单时,我ognl.OgnlException: target is null for setProperty(null, “field-name”, [Ljava.lang.String;@5513fab7) 是否需要任何其他约定或配置来传达Struts2框架以不设置属性并停止避免上面收到的exception?

-Xms:初始堆大小或最小堆大小?

-Xms是指定初始堆大小还是最小堆大小? 我看到很多地方有很多不同的答案。 有些人喜欢这里的第二个答案 ,说它是针对初始堆的,有些像这里说它的最小堆大小。 或者最小尺寸本身是初始尺寸?

你能安全地同步Java方法参数吗?

拿这个代码: public class MyClass { private final Object _lock = new Object(); private final MyMutableClass _mutableObject = new MyMutableClass() public void myMethod() { synchronized(_lock) { // we are synchronizing on instance variable _lock // do something with mutableVar //(ie call a “set” method on _mutableObject) } } } 现在,想象一下将myMethod()中的代码委托给传递锁的一些辅助类 public class HelperClass { public helperMethod(Object […]

使用int而不是String:public static void main(int args)

我的印象是main方法必须具有“public static void main(String [] args){}”forms,你无法传递int []参数。 但是,在Windows命令行中,运行以下.class文件时,它接受int和string作为参数。 例如,使用此命令将输出“stringers”:“java IntArgsTest stringers” 我的问题是,为什么? 为什么这段代码会接受一个字符串作为参数而没有错误? 这是我的代码。 public class IntArgsTest { public static void main (int[] args) { IntArgsTest iat = new IntArgsTest(args); } public IntArgsTest(int[] n){ System.out.println(n[0]);}; }

android活动类构造函数工作

在考虑android活动的情况时,第一种工作方法是onCreate正确吗? 假设我想将2个参数传递给android活动类,比如UserHome 。 为此我创建了活动类UserHome的构造UserHome并接受了params。 但是当我们调用一个活动时,我们没有初始化Activity类,我们只是创建了UserHome类的intent。 那么我们如何在不使用intent.putExtra(“keyName”, “somevalue”);情况下将params从另一个活动传递给该活动intent.putExtra(“keyName”, “somevalue”); 用法。 专家们请说明我们如何能够涵盖这样的情况。

如何使用Play 2.0路由绑定Double参数

我正在学习自己的Play 2.0(使用的是Java API),并希望有一个double / float参数(用于位置坐标),例如http://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253 。 我可以通过将参数作为String并在控制器等处解析它来做到这一点,但我可以在这里使用自动绑定吗? 现在,我首先尝试简单地使用一个double值: GET /events/foo controllers.Application.foo(doublevalue: Double) 同 public static Result foo(Double doublevalue) { return ok(index.render(“Foo:” + doublevalue)); } 我得到的是“找不到类型为Double的QueryString绑定器。尝试为此类型实现隐式QueryStringBindable。” 我是否遗漏了已经提供的内容,或者我是否需要创建一个解析Double的自定义QueryStringBindable? 我在http://julien.richard-foy.fr/blog/2012/04/09/how-to-implement-a-custom-pathbindable-with-play上找到了一些关于使用Scala创建自定义字符串查询字符串绑定器的说明-2 / 我尝试了什么: 我在包装粘合剂上实现了DoubleBinder: import java.util.Map; import play.libs.F.Option; import play.mvc.QueryStringBindable; public class DoubleBinder implements QueryStringBindable{ @Override public Option bind(String key, Map data) { String[] value = data.get(key); if(value == […]

“通过引用传递”究竟是什么意思?

谁有权决定? 编辑:显然我没有成功地完善我的问题。 我不是在问Java的论证是如何传递的。 我知道看起来像持有对象的变量实际上是一个包含对象引用的变量,并且该引用是按值传递的。 这里有很多很好的解释(在链接的线程和其他线程中)和其他地方。 问题是关于术语传递的技术含义 。 (结束编辑) 我不确定这是否是SO的正确问题,如果没有道歉,但我不知道更好的地方。 在这里的其他问题中已经说了很多,例如, Java是“传递参考”还是“传递价值”? 并通过引用或通过值传递? ,但我没有找到该术语含义的权威答案。 我认为“通过引用传递”意味着“将引用(通常是指针)传递给对象”,因此被调用者可以修改调用者看到的对象,而“按值传递”意味着复制对象,并让被调用者玩得开心(明显的问题:如果对象包含引用,深层复制或浅层)。 唱FW出现很多 地方 说 “通过参考传递”就是说, 这里有一些论点,它意味着更多,但定义仍然读取 一种ParameterPassing模式,其中将实际参数的引用(或者如果你想在政治上不正确,指针)传递给forms参数; 当被调用者需要forms参数时,它取消引用指针以获取它。 我没有找到很多地方给出更强的术语定义,在这个页面上,我发现“forms参数的左值被设置为实际参数的左值”。 并且,如果我理解正确, 这里使用相同的定义(“forms参数仅作为实际参数的别名。”) 事实上,我发现使用更强定义的唯一地方是反对这样一种观点,即在Java中,对象是通过引用传递的(这可能是由于我缺乏google-fu)。 所以,如果我把事情弄清楚,那就是通过参考传递 class Thing { … } void byReference(Thing object){ … } Thing something; byReference(something); 根据第一个定义大致对应(在C中) struct RawThing { … }; typedef RawThing *Thing; void byReference(Thing object){ // do something } […]

如何在启动tomcat时传递-D附加参数?

我有一个maven项目,运行命令mvn install all project以及模块编译并成功复制到本地存储库。 但现在我想在tomcat6中运行生成的Web应用程序。 客户端为tomcat提供了一些参数-Dapp.username,-Dapp.username,一旦项目启动就会在内部使用。但是我不知道如何在tomcat6中设置这些附加参数。 以下是我的开发环境 OS = Windows Tomcat = tomcat 6.0.27 请帮我?

Java:方法中的枚举参数

我有一个方法可以说: private static String drawCellValue( int maxCellLength, String cellValue, String align) { } 你可以注意到,我有一个名为align的参数。 在这个方法里面,我将有一些关于值是’左’还是’右’的if条件。将参数设置为String,显然我可以传递任何字符串值..我想知道它是否可能将Enum值作为方法参数,如果是,如何? 以防有人想到这个; 我想过使用布尔值,但我真的不喜欢它。 首先,如何将真/假与左/右相关联? (好吧,我可以使用注释但我仍然觉得它很脏)其次,我可能会决定添加一个新值,比如’justify’,所以如果我有两个以上的可能值,那么绝对不能使用布尔类型。 有任何想法吗?