powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Передать в метод несколько параметров в виде строки
7 сообщений из 7, страница 1 из 1
Передать в метод несколько параметров в виде строки
    #39644606
bobr12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Java новичок.

Есть сторонний класс (назовем class1), в котором есть метод method1

В качестве параметров метода method1 используется последовательность строк (Str1, Str2, Str3,....). Количество параметров - строк заранее неизвестно, но могу перед вызовом метода определить либо общую строку STR="Str1,Str2,Str3" (но в этом случае при подсовывании он понимает как одну строку), либо массив строк (тоже не получается - говорит - давай мне строки по отдельности).

Пока в голову приходит написать с десяток if -
если параметр один, то method1(Str1)
если параметров два, то method1(Str1, Str2)
если параметров три, то method1(Str1, Str2, Str3)
и т.д.

Но может существует более красивый способ вызова метода.
...
Рейтинг: 0 / 0
Передать в метод несколько параметров в виде строки
    #39644609
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobr12,

Какая сигнатура у вашего class1.method1? Или это десяток различных методов, которые различаются только количеством параметров?
...
Рейтинг: 0 / 0
Передать в метод несколько параметров в виде строки
    #39644618
yI211
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понял Ваш вопрос, но в Java есть “списки аргументов переменной длины”.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
package prj001;
class A {
}
public class Main {
 public static void myFunction (Object... args) {
  for(Object obj: args) {
   System.out.println("---: "+obj);
  }
 }
 public static void main(String[] args) {
  //метод получает три аргумента
  myFunction(new Object[] {new Integer(1), new Float(3.14), new Double(12.34)});
  //метод получает два аргумента
  myFunction(new Object[] {"one", "two"});
  //метод получает один аргумент
  myFunction(new Object[] {new A()});
 }
}
...
Рейтинг: 0 / 0
Передать в метод несколько параметров в виде строки
    #39644619
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С официального сайта Oracle.
https://docs.oracle.com/javase/7/docs/technotes/guides/language/varargs.html
Странно, если массивом не получилось. Сейчас пойду проверю )))
OracleThe three periods after the final parameter's type indicate that the final argument may be passed as an array or as a sequence of arguments.
...
Рейтинг: 0 / 0
Передать в метод несколько параметров в виде строки
    #39644623
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDK 1.8 151
следующий тест кейс вполне себе работает. Что не работает у автора, знает только он ))))


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
package test;

public class TestVarargs {

   public static void method1( String...args) {
	   for(Object obj: args) {
		     System.out.println("---: "+obj);
	   }	   
   }
   
	public static void main(String[] args) {
		String a[];
		a = new String[3];
	    System.out.println("-------------------");
	    System.out.println("as arguments");
		method1( "test1", "test2", "test3" );

		System.out.println("-------------------");
	    System.out.println("as array");

		a[0]= new String("array1");
		a[1]= new String("array2");
		a[2]= new String("array3");
		
		method1( a );
	    System.out.println("-------------------");
	}
}


...
Рейтинг: 0 / 0
Передать в метод несколько параметров в виде строки
    #39644624
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О чем yI211 уже раньше и ответил )))
...
Рейтинг: 0 / 0
Передать в метод несколько параметров в виде строки
    #39644881
bobr12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь, помогли

Оказалось в методе первые 2 строки обязательные, а остальные как String... arg2
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Передать в метод несколько параметров в виде строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]