标签: default

重载真的是获取Java中方法参数的默认值的唯一方法吗?

我是Java的新手,从Python和PHP,我习惯了函数参数的默认值.

所以我养成了编写方法的习惯,这些方法旨在从稍微不同的情况调用,你只想设置一些值.例如,在我的PHP代码中,这种情况很常见,因为我有工厂方法为对象实例提供稍微不同的属性.

在Java中,似乎我必须有一个方法需要所有参数,然后是几个重载的变量,这些变量将调用该方法,其中一些参数设置为默认值,一些参数由调用者提供.哪,好吧,好吧,但有时会让我紧张.

我记得在C++和ActionScript的一些简短的短途旅行中,这已经让我烦恼了.现在,更有经验的Java开发人员有这方面的一些捷径吗?

在我看来,从技术上讲,这个问题已被所有帖子的总和所回答为"是的,它是".我在下面打开了一个wiki帖子来收集各种替代解决方案,如果您愿意,请提供帮助.我发现所有这些都非常有用,可以作为典型Java构造的灵感和学习示例.

java default overloading

2
推荐指数
1
解决办法
728
查看次数

依赖编程语言的默认功能是明智的吗?

我应该经常依赖默认值吗?

例如,在PHP中,如果您有以下内容:

<?php

$var .= "Value";

?>
Run Code Online (Sandbox Code Playgroud)

这非常好 - 它有效.但是,如果将这样的赋值转换为以前未使用的变量后来从语言中消除了怎么办?(我不是指对未使用的变量的一般赋值.)

有无数的例子表明某些东西的默认值已经发生了变化,而现有的代码却没用了.

另一方面,没有默认值,会有很多代码冗余.

处理这个问题的正确方法是什么?

language-agnostic default

2
推荐指数
1
解决办法
132
查看次数

如何在函数中创建引用参数optional(可选缓冲区)

所以我正在创建一个检测两个精灵之间碰撞的函数,并希望添加两个缓冲区作为可选参数,以填充每个对象碰撞的边的角度.

但是这意味着两个buff参数必须是引用,并且无论何时调用函数都必须存在,并且我不知道有什么方法可以创建默认引用.我怎样才能做到这一点?

这是实际的功能:

bool CheckCollision(T* obj1, T* obj2, float& CollBuff1= new float, float& CollBuff2= new float);
Run Code Online (Sandbox Code Playgroud)

我尝试使用'new'进行默认设置,但它不起作用.

c++ default reference

2
推荐指数
1
解决办法
892
查看次数

使用SpringMVC更改Roo生成的应用程序的默认主页

默认情况下,当Web应用程序启动时,它将以roo生成的主页开始,其中视图名称为"index"

假设我使用以下命令添加新的自定义控制器,

web mvc controller ~.web.ViewHomeController --preferredMapping /homepage1
Run Code Online (Sandbox Code Playgroud)

它生成以下代码,

@RequestMapping("/homepage1/**")
@Controller

public class ViewHomeController {
   @RequestMapping
   public void get(ModelMap modelMap, HttpServletRequest request, 
                                  HttpServletResponse response) {
   }

   @RequestMapping(method = RequestMethod.POST, value = "{id}")
   public void post(@PathVariable Long id, ModelMap modelMap, 
                 HttpServletRequest request, HttpServletResponse response) {
   }

   @RequestMapping
   public String index() {
     return "home/homepage1";
   }
}
Run Code Online (Sandbox Code Playgroud)

我希望"home/homepage1"页面成为Roo应用程序启动时显示的默认页面.

我可以获得一些指导/详细信息,我需要进行一些更改,以启用"home/homepage1"作为我的应用程序的默认主页.

提前感谢您的帮助.我使用的是最新版本的Spring ROO,1.1.4.

谢谢

spring default spring-roo

2
推荐指数
1
解决办法
1453
查看次数

如何在MySQL中将现有列更改为默认为插入时的当前时间?

我正在尝试将现有列"time_sent"更改为默认为插入期间的时间.我的SQL是:

ALTER TABLE `email_history` alter `time_sent` set DEFAULT CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

我收到这个错误但是:

 MySQL said: 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP' at line 1 
Run Code Online (Sandbox Code Playgroud)

我已经阅读了文档和其他(类似但不完全相同)的示例,但没有运气.

我的MySQL版本是5.0.67.

mysql timestamp default alter

2
推荐指数
1
解决办法
3937
查看次数

不在Rails 3中渲染默认应用程序布局

我是Rails的入门开发人员,我正在使用Ruby 1.8.7和Rails 3.0.3开发的应用程序的系统研究.在我的应用程序,我有application_controllerapplication.html.erb布局和home_controllerhome_html.erb与CRUD意见一起布局.然后在我的routes.rb中,默认路由设置如下,以及home的资源路由.

root:to =>'home #index'

资源:家

application.html.rb中,我们有一个默认的布局要在其中呈现,其中需要使用<%= yield%>插入其他视图.但我有另一个名为home.html.erb的布局,其内容与application.html.erb的内容相同.当我运行应用程序时,默认布局是从home.html.erb而不是application.html.erb加载的.可能是什么原因?

ruby layout default ruby-on-rails

2
推荐指数
1
解决办法
5014
查看次数

使用OpenMP在整数上并行计算

我想用OpenMP对c ++代码进行parallalize.代码并不是很简单,但在我看来,并行化并不难,因为我有一个独立系统的集合,我想要对包含系统的std :: vector的for循环进行分析.

ensamble的维度是DIM_ENSEMBLE

这是代码的有趣部分,我尝试并行化.这当然不起作用.

vector<Systems> system(DIM_ENSEMBLE);
vector<double> current(100);
Run Code Online (Sandbox Code Playgroud)

System是一个包含一些std :: vector的结构

/* do things
...
*/

while (time < T){
/*154*/ #pragma omp parallel for default(none) shared(r, DIM_ENSEMBLE, system, current) private(i, max_rate, time_increment, R, j, status)
    for  (i =0; i< DIM_ENSEMBLE; i++) {
     max_rate = function_A_of(i);
     time_increment = function_B_of(r,max_rate);
     R = function_C_of(r,max_rate);
     j = function_D_of(System, i, R);
     status = update_the_system(&system[0], i, time_increment, j, &current[0]);
     if (status!=1) {
      #pragma omp critical
      {
/*173*/ cout << "ERROR " << i …
Run Code Online (Sandbox Code Playgroud)

c++ parallel-processing default openmp

2
推荐指数
1
解决办法
1352
查看次数

在Android 4.4.2上更改SMS应用程序默认值

我会更改Android 4.4.2上的默认短信应用程序

我用这个代码:

Intent sendIntent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
sendIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
startActivity(sendIntent);
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?我怎么能要求用我的应用程序更改默认的短信应用程序?

我的接收者:

<receiver android:name="receiver.SMSHandlerReceiver"
     android:permission="android.permission.BROADCAST_SMS" >
      <intent-filter>      
        <action android:name="android.provider.Telephony.SMS_DELIVER" />

            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

谢谢.

java sms android default android-intent

2
推荐指数
2
解决办法
6868
查看次数

DateTimeOffset默认值

我想将默认值设置为DateTimeOffset - 它不应该是DateTime.Now而是DateTime.MinValue或default(DateTime)

有什么想法我该怎么办?这段代码:

DateTimeOffset d = new DateTimeOffset(DateTime.MinValue)
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

default datetimeoffset

2
推荐指数
1
解决办法
7373
查看次数

为所有Symfony表单类型设置默认值

是否可以为所有Symfony FormType设置默认值?

我们目前正在开发基于Symfony(3.3)的API后端。在前端,我们将实体作为对象,如下所示:{"id": 1, "username": "foo" ..... }

如果我们想更新实体,我们将对象JSON.stringfy并将其发送到服务器。

但是,如果我们通过将请求绑定到我们的实体,$form->submit($request) 则会收到错误消息(“此表单不应包含额外的字段。”),因为我们在FormTypes中没有(也不想使用!)“ id”。

所以我们必须在每个FormType中都设置allow_extra_fieldstrue

public function setDefaultOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(['allow_extra_fields' => true]);
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将其配置为所有FormType的默认值(而无需扩展自定义FormType或类似的东西)?

default symfony-forms symfony

2
推荐指数
1
解决办法
182
查看次数