jOOU - Unsigned Integers jOOU provides unsigned integer versions for the four Java integer types byte, short, int and long.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Added issue template Oct 5, 2017
jOOU-java-6 Upgraded maven-compiler-plugin Jul 30, 2018
jOOU Upgraded maven-compiler-plugin Jul 30, 2018
.gitignore Added .gitignore, fixed .classpath Jun 14, 2018
.travis.yml Upgraded JDK to version 10 for travis Jun 21, 2018
LICENSE.txt Moved LICENSE.txt file Apr 30, 2015
README.md Updated README.md Dec 15, 2017
authors.txt first commit Dec 29, 2011

README.md

Overview

jOOU stands for jOOU Object Oriented Unsigned. It is filling up the gap with one of Java's most wanted features: The unsigned number types.

Dependencies

None!

Download

For use with Java 9+

<dependency>
  <groupId>org.jooq</groupId>
  <artifactId>joou</artifactId>
  <version>0.9.3</version>
</dependency>

For use with Java 6+

<dependency>
  <groupId>org.jooq</groupId>
  <artifactId>joou-java-6</artifactId>
  <version>0.9.3</version>
</dependency>

Description

This library provides an implementation for the four basic unsigned integer types as wrappers:

  • UByte
  • UShort
  • UInteger
  • ULong

These classes extend java.lang.Number and implement java.lang.Comparable<?>, just like the JDK's own wrapper types. Besides, there is a utility class called org.joou.Unsigned with factory methods allowing for creating unsigned wrappers like this:

import static org.joou.Unsigned.*;

// and then...
UByte    b = ubyte(1);
UShort   s = ushort(1);
UInteger i = uint(1);
ULong    l = ulong(1);

This project was created for https://www.jooq.org, to provide better support for MySQL, Postgres, and other databases' unsigned integer data types, and has been open sourced as an independent library for usage outside of jOOQ.


See also this stack overflow question here: http://stackoverflow.com/questions/8193031/is-there-a-java-library-for-unsigned-number-type-wrappers