小编top*_*ard的帖子

Setters vs Java中的重载构造函数

我不确定之前是否曾询问过类似的问题,搜索过它,但没有得到任何有用的答案.

正如问题所暗示的那样,有什么更好的,有重载的构造函数或具有多个setter函数?

场景:

public class Something {

    private int a;
    private int b; 

    public Something(int a, int b) {
        this.a = a;
        this.b = b;
    }
    ... // Do Something
}
Run Code Online (Sandbox Code Playgroud)

现在,我的基本要求是只有两个参数.现在明天,需求被更改,我被要求添加一个新参数,然后是第二天d,并给出一个声明说我们可以有更多字段.

我已经在多个项目中对此构造函数具有依赖性.现在,回到我的问题

  • 是否可以继续将新字段添加到已经重载的构造函数中?
  • 每次我需要添加一个新字段时创建一个新的重载构造函数,这样我就不会破坏依赖代码?
  • 或者只是使用默认的空默认构造函数并仅使用setter(弄乱我的不变性,这不是高度关注)

你可以给我什么建议?

java

5
推荐指数
1
解决办法
702
查看次数

玩java操作符(XOR和AND/OR)

在一个程序中,我试图检查两个布尔值(从函数返回); 需要检查的条件是:
- 只有当返回值中的任何一个为真且另一个为假时,我才有问题;
- 如果两者都是真或假,我很高兴下一步.

以下哪两个例子是检查条件的有效方法,还是有更好的解决方案?
a和b是整数值,我在其中检查isCorrect函数的正确性条件,它返回true或false.

1.

 // checking for the correctness of both a and b
 if ((isCorrect(a) && !isCorrect(b)) ||
     (!isCorrect(a) && isCorrect(b)))
 { 
   // a OR b is incorrect
 }
 else
 {
   // a AND b are both correct or incorrect
 }
Run Code Online (Sandbox Code Playgroud)

2.

  // checking for the correctness of both a and b
  if (! (isCorrect(a) ^ isCorrect(b)))
  {
    // a OR b is incorrect
  }
  else
  {
    // a AND b are …
Run Code Online (Sandbox Code Playgroud)

java operators

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

在Java中设置类属性,Spring配置Vs系统属性文件

我们可以使用Spring配置文件或.properties文件来存储和检索某些属性,例如数据库连接.(db url,db密码等)

我们也可以一起使用Spring配置文件和.properties文件,我们从.property文件引用属性(比如在ant中)

以下场景的优点和缺点是什么:

1 - 仅使用.properties文件.
2 - 仅使用Spring配置文件.
3 - 同时使用两者.

在维护方面,任何方案都会更好吗?

我需要在三者之间做出选择,在我选择任何选项之前,我希望有更好的判断力!

提前致谢!
- 伊瓦尔

java spring properties

4
推荐指数
1
解决办法
1566
查看次数

这是斐波纳契系列生成的更好方法

Fibonacci系列生成的两种通用方法是:

  1. 传统的方法,即通过一个函数内部循环中运行.
  2. 递归

我遇到了另一种解决方案

#include <iostream>

using namespace std;

void fibo() {
 static int y = 0;
 static int x = 1;
 cout << y << endl;
 y = x + y;
 x = y - x;
}

int main() {
 for (int i = 1; i <= 1; i++) {
  fibo();
 }
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案看起来在初始运行中运行良好,但与传统和递归方法相比,这是否有任何明显的缺点?

我确信静态变量会增加空间复杂性,但至少我们不是使用递归构建函数表堆栈,对吗?

c++ fibonacci

3
推荐指数
1
解决办法
1712
查看次数

C#中的默认函数参数

有没有办法在C#中使用默认函数参数,就像我们在C++中一样?

例如:

foo(int i = 10, int j  = 20) {}
Run Code Online (Sandbox Code Playgroud)

c#

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

C#中的Windows窗体按钮

我正在尝试在我的C#窗体上创建一个名为"Click Me"的按钮

看起来按钮文本只接受空格前的单词而忽略其余的单词.拥有:this.button_ClickMe.Text ="点击我";

显示我的按钮,仅显示文本"单击".

知道为什么吗?有没有解决方法?

  • 伊瓦尔

button winforms

0
推荐指数
1
解决办法
496
查看次数

标签 统计

java ×3

button ×1

c# ×1

c++ ×1

fibonacci ×1

operators ×1

properties ×1

spring ×1

winforms ×1