基本的には Integer#toHexString(byte) を利用するのですが、 Java の byte 型は符号付の為、 全て正の値に直さなくてはいけません。
	ソース記述例
	public static void main(String[] args) {
	    String str = "hoge-あ";
	    byte[] arr = str.getBytes();
	     for (int i = 0; i < arr.length; i++) {
	        System.out.println(Integer.toHexString(arr[i] & 0xff));
	    }
	}
	を実行すると
	出力結果
	68 6f 67 65 2d 82 a0
	
	また、sun.misc パッケージの HexDumpEncoder を使う方法もあります。
	ソース記述例
	public static void main(String[] args) {
	    String str = "hoge-あ";
	    HexDumpEncoder enc = new HexDumpEncoder();
	    System.out.println(enc.encode(str.getBytes()));
	}
	を実行すると
	出力結果
	0000: 68 6F 67 65 2D 82 A0