W jednej z moich klas Java mam te 2 bardzo podobne funkcje. Czy w Javie jest sposób na połączenie ich w jedną funkcję, więc nie muszę utrzymywać 2 funkcji?Jak łączyć podobne funkcje Java w jedną (w C++ używam szablonów)
public static boolean areValuesValid(double [] values, int numElements) {
if(values == null || values.length != numElements) {
return false;
}
for(int i = 0; i < numElements; ++i) {
if(Double.isNaN(values[i])) {
return false;
}
}
return true;
}
public static boolean areValuesValid(float [] values, int numElements) {
if(values == null || values.length != numElements) {
return false;
}
for(int i = 0; i < numElements; ++i) {
if(Float.isNaN(values[i])) {
return false;
}
}
return true;
}
Rozważ skorzystanie z generatora kodu, np. https://github.com/square/javapoet – midor
Należy zauważyć, że C++ nie łączy podobnych funkcji w jedną za pomocą szablonów; szablony generują nową funkcję dla każdego innego typu. –
@ Mniejszy Bloch, tak to prawda, ale ja c + h Potrzebuję tylko jednej funkcji szablonu w moim kodzie źródłowym zamiast dwóch. –