Here you can find the source of toInternalName(String className)
Parameter | Description |
---|---|
className | the class name |
public static String toInternalName(String className)
//package com.java2s; /*/*from w ww. jav a2s . c o m*/ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ public class Main { /** * Converts a Java source-language class name into the internal form. * * @param className the class name * @return the internal name form of the class name */ public static String toInternalName(String className) { if (className.startsWith("[")) { /* Already in the correct array style. */ return className.replace('.', '/'); } StringBuilder result = new StringBuilder(); String base = className; while (base.endsWith("[]")) { result.append("["); base = base.substring(0, base.length() - 2); } switch (base) { case "boolean": result.append("Z"); break; case "byte": result.append("B"); break; case "short": result.append("S"); break; case "char": result.append("C"); break; case "int": result.append("I"); break; case "float": result.append("F"); break; case "long": result.append("J"); break; case "double": result.append("D"); break; case "void": result.append("V"); break; default: result.append("L").append(base.replace('.', '/')).append(";"); break; } return result.toString(); } }