【问题标题】:Is it possible to add integer values while concatenating Strings? [duplicate]连接字符串时是否可以添加整数值? [复制]
【发布时间】:2021-06-01 17:37:37
【问题描述】:

考虑以下代码(main 方法的摘录):

String str = "The result: ";
int c = 5;
int k = 3;
System.out.println(str + c + k); // This would concatenate the all values, i.e. "The result: 53"

如果唯一允许修改的内容在System.out.println()内,是否可以将str连接到k和c之和?

【问题讨论】:

    标签: java string sum integer concatenation


    【解决方案1】:

    是的。

    System.out.println(str + (c + k)); 
    

    您可以通过添加括号来更改执行顺序(与数学中的方法相同)。

    【讨论】:

      【解决方案2】:

      确实,正如@talex 所说,您可以使用这个单行代码。 然而,我认为这个附加有点令人困惑,并且可能导致代码不可读。

      更好的做法是:

      String str = "The result: ";
      int c = 5;
      int k = 3;
      int result = c + k;
      System.out.println(str + result);
      

      这样,代码更具可读性,执行顺序也不会混淆阅读这段代码的程序员。

      【讨论】:

      • 这是一个更好的做法吗?拥有更多的代码行通常不是“更好的可读性”。当然,在这么短的 sn-ps 中,但这种代码也出现在不那么小的 sn-ps 中。
      • 如果代码不可读,短代码不是一个好习惯。可读性是行业中最重要的实践之一。
      • 这只是假设它不可读。 System.out.println("som 是:" + (number1 + number2));很容易阅读。如果是这样的打印语句,许多人认为它比阅读几行代码更容易阅读。是的,可读性很重要,效率也很重要。您正在创建一个不需要的变量。如果您在此处执行此操作,很可能您将在整个代码中执行此操作。
      【解决方案3】:

      是的 你应该在整数总和周围使用括号

      System.out.println(str + (c + k));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-06
        • 2011-09-20
        • 1970-01-01
        • 1970-01-01
        • 2011-04-29
        相关资源
        最近更新 更多