MID Profile

Package java.lang

MID Profile Language Classes included from Java 2 Standard Edition.


Interface Summary
Runnable The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread.

Class Summary
Boolean The Boolean class wraps a value of the primitive type boolean in an object.
Byte The Byte class is the standard wrapper for byte values.
Character The Character class wraps a value of the primitive type char in an object.
Class Instances of the class Class represent classes and interfaces in a running Java application.
Integer The Integer class wraps a value of the primitive type int in an object.
Long The Long class wraps a value of the primitive type long in an object.
Math The class Math contains methods for performing basic numeric operations.
Object Class Object is the root of the class hierarchy.
Runtime Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running.
Short The Short class is the standard wrapper for short values.
String The String class represents character strings.
StringBuffer A string buffer implements a mutable sequence of characters.
System The System class contains several useful class fields and methods.
Thread A thread is a thread of execution in a program.
Throwable The Throwable class is the superclass of all errors and exceptions in the Java language.

Exception Summary
ArithmeticException Thrown when an exceptional arithmetic condition has occurred.
ArrayIndexOutOfBoundsException Thrown to indicate that an array has been accessed with an illegal index.
ArrayStoreException Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects.
ClassCastException Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance.
ClassNotFoundException Thrown when an application tries to load in a class through its string name using the forName method in class Class but no definition for the class with the specified name could be found.
Exception The class Exception and its subclasses are a form of Throwable that indicates conditions that a reasonable application might want to catch.
IllegalAccessException Thrown when an application tries to load in a class, but the currently executing method does not have access to the definition of the specified class, because the class is not public and in another package.
IllegalArgumentException Thrown to indicate that a method has been passed an illegal or inappropriate argument.
IllegalMonitorStateException Thrown to indicate that a thread has attempted to wait on an object's monitor or to notify other threads waiting on an object's monitor without owning the specified monitor.
IllegalStateException Signals that a method has been invoked at an illegal or inappropriate time.
IllegalThreadStateException Thrown to indicate that a thread is not in an appropriate state for the requested operation.
IndexOutOfBoundsException Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out of range.
InstantiationException Thrown when an application tries to create an instance of a class using the newInstance method in class Class, but the specified class object cannot be instantiated because it is an interface or is an abstract class.
InterruptedException Thrown when a thread is waiting, sleeping, or otherwise paused for a long time and another thread interrupts it using the interrupt method in class Thread.
NegativeArraySizeException Thrown if an application tries to create an array with negative size.
NullPointerException Thrown when an application attempts to use null in a case where an object is required.
NumberFormatException Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.
RuntimeException RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.
SecurityException Thrown by the security manager to indicate a security violation.
StringIndexOutOfBoundsException Thrown by the charAt method in class String and by other String methods to indicate that an index is either negative or greater than or equal to the size of the string.

Error Summary
Error An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.
OutOfMemoryError Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.
VirtualMachineError Thrown to indicate that the Java Virtual Machine is broken or has run out of resources necessary for it to continue operating.

Package java.lang Description

MID Profile Language Classes included from Java 2 Standard Edition. In addition to the java.lang classes specified in the Connected Limited Device Configuration the Mobile Information Device Profile includes the following class from Java 2 Standard Edition.

IllegalStateExceptions are thrown when illegal transitions are requested, such as scheduling a TimerTask or in the containment of user interface components.

System Functions

The MIDP is based on the Connected, Limited Device Configuration (CLDC). Some features of the CLDC are modified or extended by the MIDP.

System Properties

The MIDP defines the following property values (in addition to those defined in the CLDC specification) that MUST be made available to the application using java.lang.System.getProperty :

System Properties Defined by MIDP

System Property



The current locale of the device, may be null


is a blank (Unicode U+0020) separated list of the J2ME profiles that this device supports. For MIDP 2.0 devices, this property MUST contain at least "MIDP-2.0"

Other properties may be available from other profiles or the implementation.

Property microedition.locale

The locale property, if not null, MUST consist of the language and MAY optionally also contain the country code, and variant separated by "-" (Unicode U+002D). For example, "fr-FR" or "en-US." (Note: the MIDP 1.0 specification used the HTTP formatting of language tags as defined in RFC3066 Tags for the Identification of Languages. This is different from the J2SE definition for Locale printed strings where fields are separated by "_" (Unicode U+005F). )

The language codes MUST be the lower-case, two-letter codes as defined by ISO-639.

The country code MUST be the upper-case, two-letter codes as defined by ISO-3166.

Application Resource Files

Application resource files are accessed using getResourceAsStream(String name) in java.lang.Class . In the MIDP specification, getResourceAsStream is used to allow resource files to be retrieved from the MIDlet Suite's JAR file.

Resource names refer to the contents of the MIDlet Suite JAR file. Absolute pathnames, beginning with "/" are fully qualified file names within the jar file.

Relative pathnames, not beginning with "/" are relative to the class upon which getResourceAsStream is called. Relative names are converted to absolute by prepending a "/" followed by the fully qualified package with "." characters converted to "/" and a separator of "/". The resulting string is reduced to canonical form by applying as many times as possible the following:

The canonical resource name is the absolute pathname of the resource within the JAR.

In no case can the path extend outside the JAR file, and resources outside the JAR file MUST NOT be accessible. For example, using "../../" does NOT point outside the JAR file. If there are any remaining "." or ".." characters they are treated literally in locating the resource. No resource can exist with that name so null is returned from Class.getResourceAsStream. Also, devices MUST NOT allow classfiles to be read from the JAR file as resources, but all other files MUST be accessible.


The behavior of java.lang.System.exit MUST throw a java.lang.SecurityException when invoked by a MIDlet. The only way a MIDlet can indicate that it is complete is by calling MIDlet.notifyDestroyed .


The behavior of java.lang.Runtime.exit MUST throw a java.lang.SecurityException when invoked by a MIDlet. The only way a MIDlet can indicate that it is complete is by calling MIDlet.notifyDestroyed .

MIDP 1.0

MID Profile

Submit a comment or suggestion Version 2.0 of MID Profile Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries. Copyright (c) 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road,Palo Alto, California, 94303, U.S.A. All Rights Reserved.