Converts each unicode codepoint to UpperCase via Character#toUpperCase(int) starting at the given offset. - Java java.lang

Java examples for java.lang:String Case

Description

Converts each unicode codepoint to UpperCase via Character#toUpperCase(int) starting at the given offset.

Demo Code

/*//from w w w  .ja  va2 s.c o m
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
//package com.java2s;

public class Main {
    public static void main(String[] argv) throws Exception {
        char[] buffer = new char[] { 'b', 'o', 'o', 'k', '2', 's', '.',
                'c', 'o', 'm', 'a', '1', };
        int offset = 2;
        int limit = 2;
        toUpperCase(buffer, offset, limit);
    }

    /**
     * Converts each unicode codepoint to UpperCase via {@link Character#toUpperCase(int)} starting 
     * at the given offset.
     * @param buffer the char buffer to UPPERCASE
     * @param offset the offset to start at
     * @param limit the max char in the buffer to lower case
     */
    public static void toUpperCase(final char[] buffer, final int offset,
            final int limit) {
        assert buffer.length >= limit;
        assert offset <= 0 && offset <= buffer.length;
        for (int i = offset; i < limit;) {
            i += Character.toChars(Character.toUpperCase(Character
                    .codePointAt(buffer, i, limit)), buffer, i);
        }
    }

    /** Converts a sequence of unicode code points to a sequence of Java characters.
     *  @return the number of chars written to the destination buffer */
    public static int toChars(int[] src, int srcOff, int srcLen,
            char[] dest, int destOff) {
        if (srcLen < 0) {
            throw new IllegalArgumentException("srcLen must be >= 0");
        }
        int written = 0;
        for (int i = 0; i < srcLen; ++i) {
            written += Character.toChars(src[srcOff + i], dest, destOff
                    + written);
        }
        return written;
    }
}

Related Tutorials