bvirk Seniormester
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 Seniormester
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
Nu sender dansk advokatfirma opkrævninger til tusindvis af pirat-mistænke internetbrugere
Et danske firma sender i øjeblikket opkrævninger på op til 4500 kroner ud til tusindvis af svenskere, der mistænkes for at være pirater.
CIO
Blev kåret til Årets CIO i Danmark - men sagde så op: Nu er Morten Gade Christensen tilbage i ny it-topstilling
Morten Gade Christensen, der blev kåret til Årets CIO i 2016, har fået en ny it-topstilling, efter at han selv valgte at sige op hos Energinet.dk.
Comon
Anmeldelse: Livet som superhelt i Midgård er stadig fornøjeligt
Shadow of War bygger videre på alle de solide kvaliteter fra forgængeren, og lader dig agere action-stjerne i Tolkiens univers.
Job & Karriere
IBM’s Watson har gennemlæst 600 jobopslag, og snart kan der blive vendt op og ned på vores jobsøgning
Kunstig intelligens kan forandre den måde virksomheder rekrutterer på. Derfor har IBM netop gennemført et stort forsøg med Danmarks største erhvervsskole.
White paper
Sådan får mindre virksomheder ny it-infrastruktur i topklasse til lavpris
Digitaliseringen buldrer frem i erhvervslivet, og store virksomheder har travlt med at investere i nye it-løsninger for at placerer sig bedst muligt i en konkurrencesituation, der bliver stadig mere skarp. Det mærker man også i de mindre virksomheder, men for dem er indkøb og vedligeholdelse af et it-system ofte en uoverskuelig og kostbar opgave, der tilmed kræver særlige kvalifikationer, som virksomheden måske ikke selv besidder. Her kan ny, moderne hyperkonvergeret it-teknologi være løsningen. Læs i dette whitepaper om fordelene og detaljerne i en komplet, nøglefærdig it-infrastruktur fra Lenovo, Intel og Nutanix, som tilmed er prismæssigt meget gunstig.