Object类型转换为String类型的两种方式


有这样一种想法, Object obj=”123456”

想要将其转换为Integer类型,大家都知道在Java里Integer类里提供了这样一个方法,Integer.parseInt(String)方法,但是参数是String类型的,所以必须先要将Object转换为String类型的,在此我试验了几种种方法:

1、 obj.toString(),利用Object类自带的toString方法,但是前提是obj不能为null否则会包NullPointer异常,所以可以这样写:

Integer.parseInt(obj==null?”0”:obj.toString());

  2、(String)obj,条件是obj必须能转换为字符串,例如obj=null,转换为的字符串就是”null”,但是如果Obj为一个实体对象,则会报异常:

Exception in thread “main” java.lang.ClassCastException: test.User 
cannot be cast to java.lang.String  

以上两种方式都有缺点,那就是,该字符串必须能转换为数字不然会报异常,索性可以直接写个方法:

public static Integer parseObjectToInteger(Object obj){   
        if(obj==null)   
            throw new RuntimeException(“the Object can not be null”);   
        String s=obj.toString();   
        Integer val;   
        try{   
            val=Integer.parseInt(s);   
            return val;   
        }catch(Exception e){   
            throw new RuntimeException(“The Object string can’t be 
                          casted to Integer from String!”);   
        }   
    }   

当然这只是一个简单写法,,你可以捕获异常,然后返回一个特定的值。。。具体就要看项目需求了,这里只是共享一下心得,如有不足之处还望指点。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将一个 JavaScript 对象换为字符串,可以使用 JSON.stringify() 方法。例如,假设你有一个对象 obj,你可以使用以下代码将其换为字符串: ``` var str = JSON.stringify(obj); ``` 这将返回一个字符串,其中包含 obj 对象的属性和值。如果你想格式化输出字符串,可以将第二个参数传递给 JSON.stringify() 方法,如下所示: ``` var str = JSON.stringify(obj, null, 2); ``` 第二个参数是一个 replacer 函数或要在 JSON 字符串中显示的属性数组。在这个例子中,我们将其设置为 null,因为我们不需要 replacer 函数。第三个参数是一个表示缩进空格数的数字,用于格式化输出字符串。在这个例子中,我们将其设置为 2,表示每个级别缩进两个空格。 ### 回答2: 在Angular中,当我们试图直接将一个对象换为字符串时,它通常会显示为"[object Object]",这是因为默认情况下,Javascript将对象换为其默认表示形式"[object Object]"。 要将对象换为字符串类型,我们可以使用不同的方法: 方法一:使用JSON.stringify()函数 JSON.stringify()函数可以将一个对象换为JSON字符串。如果我们想要将对象换为字符串,我们可以使用该函数,如下所示: ```typescript let obj = {property: "value"}; let objString = JSON.stringify(obj); console.log(objString); // 输出结果: '{"property":"value"}' ``` 在上面的例子中,我们使用JSON.stringify()函数将对象换为JSON字符串,并将结果存储在objString变量中。 方法二:使用toString()方法 另一种方法是使用对象的toString()方法,该方法可以将一个对象换为字符串类型。我们可以自定义对象的toString()方法来返回我们想要的字符串表示形式,例如: ```typescript class CustomObject { property: string; constructor(value: string) { this.property = value; } toString() { return this.property; } } let obj = new CustomObject("value"); let objString = obj.toString(); console.log(objString); // 输出结果: 'value' ``` 在上面的例子中,我们创建了一个自定义对象CustomObject,并重写了toString()方法,使其返回该对象的property属性的值。 这些方法可以用于将对象换为字符串类型,并避免显示为"[object Object]"的问题。根据具体的需求和情况,我们可以选择其中一种方法来实现。 ### 回答3: 在Angular中,当我们尝试将一个对象直接换为字符串时,通常会得到"[object Object]"的结果。这是因为对象的默认toString()方法返回的是对象类型字符串表示。 要将一个对象换为字符串类型,我们可以使用Angular提供的内置方法JSON.stringify()。这个方法可以将任意JavaScript对象换为JSON字符串表示。 例如,假设我们有一个名为user的对象,我们想要将它换为字符串类型: ```typescript import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-example', template: ` <div>{{ user | json }}</div> <div>{{ user | jsonToString }}</div> `, }) export class ExampleComponent { user = { name: 'John', age: 25, city: 'New York' }; jsonToString(obj: any): string { return JSON.stringify(obj); } } ``` 在上面的例子中,我们使用了Angular的管道(pipe)来将user对象换为JSON字符串。我们可以使用管道将对象换为字符串,并在模板中使用换后的值。 当我们在模板中使用`{{ user | jsonToString }}`时,Angular会调用定义在ExampleComponent中的jsonToString方法,并将user对象作为参数传递进去。这个方法内部使用了JSON.stringify()方法来将user对象换为字符串,并将结果返回给模板。 这样就可以将一个对象换为字符串类型,并将其在Angular模板中显示出来,而不是显示"[object Object]"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值