国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Integer.valueOf()用于字符和字符串的區(qū)別

這篇具有很好參考價值的文章主要介紹了Integer.valueOf()用于字符和字符串的區(qū)別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

LeetCode 17?電話號碼的字母組合

先貼代碼

class Solution {
    List<String> result = new ArrayList<>();
    String temp = new String("");
    Integer num;
    public List<String> letterCombinations(String digits) {
        dfs(digits, 0);
        return result;
    } 

    public void dfs(String digits, int deepfloor) {
        if(digits.compareTo("") == 0) {
            return;
        }

        if(deepfloor == digits.length()) {
            result.add(new String(temp));
            return;
        }
        
        num =  Integer.valueOf(digits.substring(deepfloor,deepfloor+1));
        //  num =  Integer.valueOf(digits.charAt(deepfloor)); 這是錯誤寫法
        String sub = numberToString(num);
        
        for(int j=0;j<sub.length();j++) {
            temp = temp + sub.substring(j,j+1);
            dfs(digits, deepfloor+1);
            temp = temp.substring(0, deepfloor);
        }

    }

    public String numberToString(int num) {
        switch(num)
		{
		   case 2:
           return "abc";

           case 3:
           return "def";

           case 4:
           return "ghi";

           case 5:
           return "jkl";

           case 6:
           return "mno";

           case 7:
           return "pqrs";

           case 8:
           return "tuv";

           case 9:
           return "wxyz";
		}
        return "";
    } 
}

踩坑:

1、假設(shè)digits = "23",deepfloor = 0。

如果num = ?Integer.valueOf(digits.charAt(deepfloor));?

num=50,這是為什么呢,因為digits.charAt(deepfloor)='2',對應(yīng)的ASCII值為50...

而?num = ?Integer.valueOf(digits.substring(deepfloor,deepfloor+1));

num=2,才能得到正確結(jié)果,因為digits.substring(deepfloor,deepfloor+1)="2",Integer.valueOf()方法只能用于字符串,例如"2",而不能用于單個字符,例如'2'。

2、String temp =? new String("");

是否""字符串會占據(jù)一個字符位置呢?

分別測試了當(dāng)字符串temp為""的第0位字符

和拼接字符串"A"之后temp的第0位字符

首先當(dāng)temp為""時, 測試System.out.println(temp.charAt(0));

會報錯java.lang.StringIndexOutOfBoundsException: String index out of range: 0

因此,""其實不占據(jù)字符位

當(dāng)temp拼接字符串"A"之后, 測試System.out.println(temp.charAt(0));

順利輸出字符'A'

因此也不用擔(dān)心,通過拼接字符串,初始化"",會造成索引錯亂的情況

但是,更好的辦法應(yīng)該是使用StringBuilder

如果是純字符串拼接,會生成很多臨時對象,性能會略差,Java實現(xiàn)中是用StringBuilder做拼接的。

StringBuilder留到下一次實現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-732319.html

class Solution {
    List<String> result = new ArrayList<>();
    String temp = new String("");
    
    public List<String> letterCombinations(String digits) {
        System.out.println(temp.charAt(0));
        temp = temp + "A";
        System.out.println(temp.charAt(0));
        return result;

    } 
}

到了這里,關(guān)于Integer.valueOf()用于字符和字符串的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux中字符串使用單引號與雙引號的區(qū)別

    一、 單引號 name=\\\'錢學(xué)森\\\' str=\\\'我很崇拜 $name\\\' echo $str 輸出結(jié)果為: 我很崇拜 $name 單引號字符串的限制: 單引號里的任何字符都會原樣輸出,單引號字符串中的變量是無效的,單引號字串中不能出現(xiàn)單獨一個的單引號(對單引號使用轉(zhuǎn)義符后也不行),但可成對出現(xiàn),作為字符

    2024年02月19日
    瀏覽(13)
  • java中操作字符串都有哪些類?它們之間有什么區(qū)別?

    Java中常用的字符串操作類有: String類是Java中最常用的字符串類,它是不可變的字符串,即創(chuàng)建后不能被修改。 StringBuilder類也是一個字符串操作類,但它是可變的,即可以修改已經(jīng)創(chuàng)建的字符串對象。StringBuilder比String更適合在程序中進行字符串拼接操作。 StringBuffer類與St

    2023年04月21日
    瀏覽(22)
  • 【==是判斷相等嗎?---錯辣】C++和JAVA中判斷字符串值相等的區(qū)別

    【==是判斷相等嗎?---錯辣】C++和JAVA中判斷字符串值相等的區(qū)別

    參考文章:這里;這里;這里 C++中的 string 類型可以使用 == 和 != 來判斷兩個字符串的值是否相等;而JAVA不行,JAVA中 == 和 != 是用來 判斷兩個字符串的地址是否相同 (或者說是 對象是否相同 ,即 是否為同一個對 象)。 運行結(jié)果 結(jié)果解釋 :C++中可以利用 == 來判斷兩個字符

    2023年04月21日
    瀏覽(27)
  • 【前端面試3+1】12 toktn驗證過程、面向?qū)ο筇匦?、webpack和vite的區(qū)別、【字符串中的第一個唯一字符】

    【前端面試3+1】12 toktn驗證過程、面向?qū)ο筇匦浴ebpack和vite的區(qū)別、【字符串中的第一個唯一字符】

    用戶登錄:用戶提供用戶名和密碼進行登錄。 服務(wù)器驗證:服務(wù)器接收到用戶提供的用戶名和密碼,進行驗證。 生成token:如果用戶名和密碼驗證通過,服務(wù)器會生成一個token,通常包含一些加密的信息,如用戶ID、過期時間等。 返回token:服務(wù)器將生成的token返回給客戶端(

    2024年04月18日
    瀏覽(23)
  • JVM的內(nèi)存分配及各種常量池的區(qū)別(靜態(tài)常量池、運行時常量池、字符串常量池)

    先了解下JVM中的內(nèi)存分配,此處以hotspot vm為例(官方j(luò)dk采用的vm) 堆內(nèi)存是各個線程共享的區(qū)域 它用于存儲已經(jīng)被虛擬機加載的類信息、常量、靜態(tài)變量、即編譯器編譯后的代碼等數(shù)據(jù)。靜態(tài)變量、常量在方法區(qū),所有方法,包括靜態(tài)和非靜態(tài)的,也在方法區(qū) 這里解釋一下方法

    2023年04月14日
    瀏覽(19)
  • 一文讀懂ElasticSearch中字符串keyword和text類型區(qū)別_elasticsearch text和keyword

    一文讀懂ElasticSearch中字符串keyword和text類型區(qū)別_elasticsearch text和keyword

    可以看到,這里的數(shù)據(jù)被ES分為了4個詞分別是“廣” ,“東”,“深”,“圳”。同樣,第二條數(shù)據(jù)也被分為了“廣” ,“西”,“南”,“寧”。這里可以理解為 keyword類型存儲的數(shù)據(jù)為“廣東深圳”(存儲未分詞的原始數(shù)據(jù)) text類型存儲的數(shù)據(jù)為“廣” ,“東”,“深

    2024年04月16日
    瀏覽(17)
  • Java中split分割帶空格的字符串 \t \n \r \f 及 \s 的區(qū)別

    t:制表符,相當(dāng)于tab n:換行 r:回車 f:換頁 s:在java正則表達(dá)式常見,例如java的匹配、替換、分割字符串(matches,split) 例: \\\"Java is fun\\\".matches(\\\"Java.*\\\") //返回true 二、正確使用split來分割空白字符 輸入:hello my ?lovely ? ?world! ? ? ? (分別為一個空格、兩個空格 和 一個制

    2024年02月15日
    瀏覽(23)
  • 反轉(zhuǎn)字符串 反轉(zhuǎn)字符串 || 反轉(zhuǎn)字符串 |||

    反轉(zhuǎn)字符串 反轉(zhuǎn)字符串 || 反轉(zhuǎn)字符串 |||

    ?代碼: 代碼: 可以雙指針 也可以用棧來做 代碼:

    2024年02月09日
    瀏覽(16)
  • 字符串解碼:給一個字符串,返回解碼后的字符串。

    字符串解碼:給一個字符串,返回解碼后的字符串。

    字符串解碼,給一個字符串s,返回解碼后的字符串。字符串編碼規(guī)則為k[str]表示括號內(nèi)部str字符串正好重復(fù)k次,k保證為整數(shù),并且輸入的字符串肯定符合這種編碼規(guī)則不會有額外的空格。 注意事項: 注意括號可能發(fā)生嵌套,例如輸入字符串為 3[a2[c]] 應(yīng)該返回accaccacc 1 = s

    2024年02月16日
    瀏覽(17)
  • 【代碼隨想錄 | Leetcode | 第十一天】字符串 | 反轉(zhuǎn)字符串 | 反轉(zhuǎn)字符串 II | 替換空格 | 反轉(zhuǎn)字符串中的單詞 | 左旋轉(zhuǎn)字符串

    【代碼隨想錄 | Leetcode | 第十一天】字符串 | 反轉(zhuǎn)字符串 | 反轉(zhuǎn)字符串 II | 替換空格 | 反轉(zhuǎn)字符串中的單詞 | 左旋轉(zhuǎn)字符串

    歡迎來到小K的Leetcode|代碼隨想錄|專題化專欄,今天將為大家?guī)碜址畘反轉(zhuǎn)字符串 | 反轉(zhuǎn)字符串 II | 替換空格 | 反轉(zhuǎn)字符串中的單詞 | 左旋轉(zhuǎn)字符串的分享 ? ?題目鏈接點這里 編寫一個函數(shù),其作用是將輸入的字符串反轉(zhuǎn)過來。輸入字符串以字符數(shù)組 s 的形式給出。不要

    2024年02月15日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包