2016-04-06 35 views
-2

Dize ile Tamsayıyı dönüştürmenin en iyi yolu nedir? (47 buradaTamsayı - Java'daki dize dönüştürme sorunu

params.get("contractPriceId"); alıyorum İstisna

public List<ContractPriceDetailVO> getContractPriceDetails(
     Map<String, String> params) throws DAOException { 
    // Get the request object 
    HttpServletRequest request = FlexContext.getHttpRequest(); 
    // Get the AppContext object 
    AppContext ac = SessionUtils.getAppContext(request); 
    SimpleDateFormat sdf = new SimpleDateFormat(ac.getDateFormat()); 
    List<Object[]> resultList = new ArrayList<Object[]>(); 
    if (params.get("specId") != null && params.get("specId").trim() != "" 
      && params.get("effDate") != null 
      && params.get("effDate").trim() != null) 
     resultList = contractPriceEJBService.getContractPriceDetails(ac, 
       params); 

    String contractPriceId = null; 
    if (params.get("contractPriceId") != null){ 
     try{ 
     contractPriceId = params.get("contractPriceId"); 
     } 
     catch (Exception e){ 
      logger.error("Exception in getting contractPriceId "+e.getMessage()); 
     } 
    } 
    else{ 
     contractPriceId = null; 
    } 
+0

Integer.parseInt ("123"); – Paolof76

+0

Bu soru şu anda _very_ belirsizdir. Özel durumunuzun ne olduğu ve bir şeyi dönüştürmeye çalıştığınız net değildir, çünkü yalnızca 'String' ile çalışıyorsunuz. Lütfen eksik bilgileri eklemek için sorunuzu [düzenleyin]. Ayrıca okuyun: [nasıl yapılır] (http://stackoverflow.com/help/how-to-ask). Teşekkür ederim. – Tom

cevap

0

Değişim bunu böyle ... String Tamsayı döküm edemez ve onu dize, String.valueOf için Tamsayı itibaren

contractPriceId = params.get("contractPriceId") +""; 
+0

Yani bir String'e boş bir String eklemek akıllıca mıdır? Ne için? – Tom

+0

@Tom Bu params.get ("contractPriceId") 'bir tamsayı döndürdüğünden beri zekidir. –

+0

Demek ki, "Params" ("Map params") eşlemesi, String döndürmesi beyan edilmesine rağmen, tamsayı döndürüyor? Gerçekten mi? – Tom

0

çalışması gerekir).

Dize'den Tam Sayıya, Tamsayı.parseInt ("47").

Kural dışı durumdan kaçınmak için, String.valueOf (params.get ("contractPriceId")) 'ı deneyin.

+0

Bu 'String.valueOf (params.get (" contractPriceId "))' gerekli değildir, çünkü params.get ("contractPriceId") 'zaten bir' String' döndürür ('params' parametresi için bildirilen türe bakın). – Tom

+0

"contactPriceId" parametresi Haritada bulunmuyorsa, null değerini döndürür. Bildirilen tür String olsa bile, boş bir değerin herhangi bir tür olarak kabul edilebileceğini düşünmüyorum. – Wakachopo

+0

Önerinizin sonucu "String" "null" olacaktır ve şu anda OP'nin bunu istediği bilinmemektedir. Peki, bütün soru zaten açık değil. – Tom

2

Hangi istisna alıyorsunuz?

Normalde kullandığımız

,

int price = Integer.parseInt("7"); 

Bu dize int değeri döndürür.

Sorunun daha fazla analizini yapabilmemiz için lütfen soruya özel durumu ve hatayı verin.