Çalışma zamanında tuhaf bir java davranışıyla karşılaştım. Tüm bilgiler ekran görüntüsündedir. Uygulamamda başarısız. Şaşırtıcı bir şekilde, farklı zamanlarda aynı girdi verileriyle, doğru bir şekilde işlenebilir. Bu garip davranışın sebebinin ne olduğunu açıklayabilir misin? Birazdan sonuç pkgPart = "common.dto."
olmalıdır id = "common.dto.IdsFilter"
Garip Java davranışı
private String[] splitPackageAndNameParts(String id) {
// check string not empty
if (StringUtils.isEmpty(id)) {
throw new IllegalArgumentException("Unexpected id : " + id);
}
// get last point index
int index = id.lastIndexOf(".");
// check index
if (index == 0 || index >= (id.length() - 1)) {
throw new IllegalArgumentException("Unexpected id : " + id);
}
// split
String pkgPart = index < 0 ? "" : id.substring(0, index + 1);
String namePart = id.substring(index + 1, id.length());
// return result
return new String[]{pkgPart, namePart};
}
jdk 1.7.0_79 İşte tam kod parçayı kullanır, ancak çalışma zamanı üzerinde o "common.dto"
(noktasız) döndürür Görebildiğim kadarıyla
http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557# 285557 –
Bize * gerçek kod * ihtiyacımız var. Bir ekran görüntüsüyle size yardımcı olamayız, çünkü neler olduğunu görmek için IntelliJ kopyalarımıza bunu takamıyoruz. – Makoto
Lütfen açıklamak için cevabınızı düzenleyin: hangi girdi verilerini kullanırsınız, beklenen davranış nedir ve hangi hata mesajını alırsınız. Ve sahip olduğunuz kodu (ekran görüntüsü yok, ancak gerçek java kodu) gönderin, böylece size yardımcı olabiliriz. –