Почему,когда я в метод
index1=path.indexOf(jdk);
передаю строковую переменную jdk
компилятор выдает исключения,
а когда я беру "jdk"
в ковычки все работает отлично(index1=path.indexOf("jdk");)
. Эта переменная уже имеет строковый тип,зачем ее брать в кавычки,эта переменная уже ссылается на объект строкового типа
public class Solution {
public static void main(String[] args) {
String path = "/usr/java/jdk1.8/bin/";
String jdk13 = "jdk-13";
System.out.println(changePath(path, jdk13));
}
public static String changePath(String path, String jdk) {
//System.out.println(jdk);
int index1=path.indexOf(jdk);
int index2=path.indexOf("/",index1);
String oldjdk=path.substring(index1,index2);
return path.replace(oldjdk,jdk);
}
}
package com.javarush.task.pro.task09.task0914;
/*
Обновление пути
*/
public class Solution {
public static void main(String[] args) {
String path = "/usr/java/jdk1.8/bin/";
String jdk13 = "jdk-13";
System.out.println(changePath(path, jdk13));
}
public static String changePath(String path, String jdk) {
int index1=path.indexOf(jdk);
int index2=path.indexOf("/",index1);
String oldjdk=path.substring(index1,index2);
return path.replace(oldjdk,jdk);
}
}