当前位置: 首页 > 知识库问答 >
问题:

从整数转换为字符串良好实践[关闭]

钱朝明
2023-03-14

想改进这个问题吗 通过编辑这篇文章,更新问题,以便用事实和引文来回答。

我有一个习惯,就是在程序之间将整数转换成字符串,改变要操作的变量类型并将其更改回来以获得整数结果,这是一个好的做法吗?这会如何影响时间复杂性(请注意,我对数据结构不熟悉)

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
    ListNode ln1 = l1;
    ListNode ln2 = l2;
    StringBuilder num1 = new StringBuilder();
    StringBuilder num2 = new StringBuilder();

    while(l1!= null || l2!=null) {
        if(l1!=null){
            num1.append(l1.val);
            l1= l1.next;
        }
        if(l2!=null){
            num2.append(l2.val);
            l2=l2.next;
        }

    }
    int n1= Integer.parseInt(num1.toString());
    int n2= Integer.parseInt(num2.toString());
    int sum = n1+n2;
    return new ListNode(sum);
}

共有1个答案

申嘉慕
2023-03-14

此操作不好,可能会导致整数溢出。
并将字符串转换为整数,可能会导致NumberFormatException。

public class Test
{
    public static void main(String[] args) {
        String str = "1 2 3";
        Integer num = Integer.valueOf(str);
    }
}

例外

 类似资料:
  • 问题内容: 如何在JavaScript中将字符串转换为整数? 问题答案: 最简单的方法是使用本机函数: 如果这对您不起作用,则有 parseInt , 一元加号 , 带有floor的parseFloat 和 Math.round 方法。 parseInt: 一元加号,如果您的字符串已经是整数形式: 如果您的字符串是浮点数或可能是浮点数,并且您想要一个整数: 或者,如果您要多次使用Math.floo

  • 问题内容: 有什么方法可以将null转换为Integer。null实际上是一个字符串,我在我的服务层中传递该字符串,将其接受为整数。因此,每当我尝试将null字符串强制转换为Integer时,都会引发异常。但是我必须将null转换为Integer。 问题答案: 您 不能 从String强制转换为Integer。但是,如果您尝试将字符串转换为整数,并且必须提供处理字符串的实现,请查看以下代码片段:

  • 问题内容: 给定一个数字: 将其转换为字符串的“最佳”方法是: 问题答案: 有多种方法: (我的偏爱) (我不知道编译器如何处理它,也许它和上面一样有效)

  • 问题内容: 我有一个整数 在声明中,我必须将其与一些字符串进行比较。我不能在开始时设置为字符串,因为必须在循环中将其递减。 如何转换? 问题答案: 我找到了答案。 将整数转换为字符串: 将字串转换为整数:

  • 问题内容: 有没有人能将不安全的字符串转换为? 该字符串通常回来为:或类似的东西。 在这种情况下,我要。如果我想。我从不希望该方法失败,但是我不愿意尝试,除非通过它只是为了隐藏错误(以防万一发生极端情况)。 问题答案: 在这种情况下,您确实有一种避免/的方法,尽管我不建议这样做(假设您的输入字符串名为,并且您处于必须返回某些内容的函数中): 将在部分就是你回什么是你想要比如说,如果是,空,全空间,

  • 我有一个应用程序,需要非常快速地比较许多小字符串。幸运的是,我可以保证以下所有字符串: 每个字符串中只有前6个字符被认为是重要的;任何剩余字符的差异都将被忽略 比较不区分大小写 字符串中只允许(英文)字母字符“-”和“'”。 我突然想到,因此可以将每个字符串转换为一个可以直接与其他字符串生成的其他进行比较的,从而将潜在成本高昂的字符串比较转换为单周期整数比较。 然而,我还需要将这些字符串用作哈希表