bvirk Mester
17. februar 2017 - 14:39 Der er 2 kommentarer og
1 løsning

substring uden IndexOutOfBoundsException

Har Java ikke en "kast IKKE exception - afkort til max længde" substring(beg,end) eller andet?

Skal man absolut ud i indeks gymnastik:

final int maxTitleLen=15;
int titleLen=f.getName().length() > maxTitleLen ? maxTitleLen : f.getName().length();
ret +="<title>"+f.getName().substring(0,titleLen)+"</title>" +
...


eller stadig lidt tungt, tvingende til gentagelse af koblede udtryk:
import static utils.Oraclerounds.maxStringLength;
...
ret +="<title>"+f.getName().substring(0,maxStringLength(f.getName(),15))+"</title>" +
...


givet eksempelvis: Oraclerounds.java

package utils;

public class Oraclerounds {
    public static int maxStringLength(String s, int wish) {
        return s.length() <= wish ? s.length() : wish;
    }
}
arne_v Ekspert
17. februar 2017 - 15:04 #1
Jeg mener ikke der er en i Java standard bibliotek.

Jeg kan ihvertfald ikke lide:

String.format(|%." + MAX_TITLE_LEN + "s", f.getName());

(jeg kan ikke faa * til at virke)

Jeg ville nok bruge:

f.getName().substring(0, Math.min(f.getName().length(),MAX_TITLE_LEN))
arne_v Ekspert
17. februar 2017 - 15:06 #2
ignorer den |
det er en leftover
bvirk Mester
17. februar 2017 - 15:50 #3
Det er jo både en standard funktion og retvisende med Math.min. Så er der ikke noget jeg har overset - man er nød til at anvende strengen som parameter endnu en gang.
Tak for det.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Computerworld
Her er alle de vilde rygter om iPhone 8, der sender Apple-aktien på rekord-kurs
De første rygter om den næste iPhone er begyndte at boble frem, og det har allerede haft en effekt på aktiemarkedet.
CIO
It-chef i dybet: "Hele vores it-infrastruktur er jo bygget op fra bunden, og alt - inklusive mig selv - forsvinder jo, når vi er færdige i 2018"
Interview: Martin Lauritsen er it-chef på Metro-byggeriet i København, hvor han skal holde internettet i gang og industrispioner ude af 22 byggepladser i hovedstaden. Det er noget af en opgave.
Comon
Sådan installerer du Googles bil-system, Android Auto, på din smartphone
Android Auto har indtil nu krævet en bil med indbygget computer med touchskærm for at kunne fungere. Nu kan du installere systemet på din Android-telefon og benytte den som bil-computer og navigations-system. Se her, hvordan du gør.
Channelworld
Tidligere Atea-boss Claus Hougesen er færdig som direktør i 3A-it: Her er årsagen
Claus Hougesen er stoppet som administrerende direktør for 3A-it og har i stedet overladt posten til Preben Jensen, der ligeledes har en fortid hos Atea.
White paper
Sådan overvinder man de 5 største udfordringer ved application recovery.
Få svar på hvordan man løser de 5 største udfordringer ved application recovery