Java Type Size sizeOfEnumValue(T enumValue)

Here you can find the source of sizeOfEnumValue(T enumValue)

Description

size Of Enum Value

License

Apache License

Declaration

public static <T extends Enum<T>> int sizeOfEnumValue(T enumValue) 

Method Source Code

//package com.java2s;
/*/*w  w w  .  j  a  va 2 s  .c om*/
 *      Copyright (C) 2012-2015 DataStax Inc.
 *
 *   Licensed 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.
 */

public class Main {
    public static <T extends Enum<T>> int sizeOfEnumValue(T enumValue) {
        return sizeOfString(enumValue.toString());
    }

    public static int sizeOfString(String str) {
        return 2 + encodedUTF8Length(str);
    }

    private static int encodedUTF8Length(String st) {
        int strlen = st.length();
        int utflen = 0;
        for (int i = 0; i < strlen; i++) {
            int c = st.charAt(i);
            if ((c >= 0x0001) && (c <= 0x007F))
                utflen++;
            else if (c > 0x07FF)
                utflen += 3;
            else
                utflen += 2;
        }
        return utflen;
    }
}

Related

  1. sizeOf(String str)
  2. sizeOf(String type)
  3. sizeOf(String typeDescriptor)
  4. sizeOfBinary(int maximumNumber)
  5. sizeOfCompactInt(int i)
  6. sizeOfFloat(float f)
  7. sizeOfInt()
  8. sizeOfInt(int x)
  9. sizeOfInVarInt32(int length)