Не уверен, что вы пытаетесь сделать здесь, но то, что вы назначаете для s
, не будет действовать для вызывающей стороны:
public void sendChatPacket(String s, int id) {
boolean isUpperCase = Character.isUpperCase(s.length());
s = isUpperCase ? "<col=65280>\" + s + \"</col>" : "<col=255>\" + s + \"</col>";
}
Параметр метода передается по значению в Java. Даже если вы присваиваете s
чему-то другому, аргумент, переданный вызывающей стороной, не будет затронут.
В вашем звонящем вы ничего не делаете с сообщением, которое вы передали. Так что ваш код просто не делает ничего осмысленного.
Если это не ваш реальный код, предложите код, который демонстрирует проблему. Сообщите нам, каков ожидаемый результат и как ваш пример кода не соответствует вашим ожиданиям.
В следующий раз, когда вы спросите: небольшая рекомендация: вы даете здесь слишком много неуместного контекста. Например, в этом вопросе вы должны были самостоятельно поставить диагноз и обнаружить, что после вызова sendChatPacket
результат неожиданный. Вам не нужно говорить нам, какой окрас. Вы просто манипулируете строкой, а манипулирование строкой не работает должным образом. Упрощая сценарий, вы могли бы предоставить MVCE, который намного облегчит людям понимание вашей проблемы (следовательно, предложит помощь)