Java 7以前を使用している場合は、この投稿を参照できます。
Java 8を使用している場合は、次のことができます。
DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
TemporalAccessor accessor = timeFormatter.parse("2015-10-27T16:22:27.605-07:00");
Date date = Date.from(Instant.from(accessor));
System.out.println(date);
更新
コメントで@BasilBourqueが指摘しているように、TemporalAccessorはJavaフレームワークレベルのインターフェイスであり、アプリケーションコードで使用することはお勧めできません。また、インターフェイスではなく具象クラスを使用することをお勧めします。
このインターフェースはフレームワークレベルのインターフェースであり、アプリケーションコードで広く使用されるべきではありません。代わりに、アプリケーションはLocalDateなどの具象型のインスタンスを作成して渡す必要があります。これには多くの理由がありますが、その一部は、このインターフェイスの実装がISO以外のカレンダーシステムにある可能性があることです。問題の詳細については、ChronoLocalDateを参照してください。
LocalDate、LocalDateTime、OffsetDateTime、ZonedDateTimeなど、使用できる具体的なクラスがいくつかあります。
DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
OffsetDateTime offsetDateTime = OffsetDateTime.parse("2015-10-27T16:22:27.605-07:00", timeFormatter);
Date date = Date.from(Instant.from(offsetDateTime));
System.out.println(date);